Задать вопрос
  • Простейшая защита от DDOS на PHP?

    @bondbig
    анти-ддос «на уровне php» — сам по себе — ерунда, по определению. Можно оптимизировать код, чтобы он занимал меньше памяти, меньше процессорного времени, меньше «долгих» запросов к БД и т.п. Но это все имеет смысл делать просто так, как правило, а не в попытках отбить ддос.
    На базе кода php можно сварганить IDS, что успешно и делают некоторые.
    Ответ написан
    Комментировать
  • Как правильно настроить mod_rewrite?

    m00t
    @m00t
    Я бы на вашем месте сделал по-другому.
    Парсил бы строку URI не в htaccess, а в index.php. А все запросы к несуществующим файлам передавал бы неизменными на index.php. Так делают во всех фреймворках сейчас. Тогда и _GET параметры все останутся, если надо. Пример htaccess (смотрите на последние три условия):
    github.com/kohana/kohana/blob/3.0.x/example.htaccess
    Потом его можно узнать в скрипте примерно так:
    github.com/kohana/core/blob/3.0.x/classes/kohana/request.php#L239
    и распарсить уже как надо на свои query, id и microid.
    Ответ написан
    Комментировать
  • Посоветуйте Web Framework на Perl

    sesharim
    @sesharim
    Catalyst.
    Ответ написан
    Комментировать
  • PHP - как cоединяться с Mongo по требованию (отложенно)?

    sedictor
    @sedictor
    class lazyLoad_mongo {
        private $loaded = false;
        private $mongo;
        public function init() {
            $this->mongo = new Mongo(MONGO_SERVER, array ("connect" => false));
            $this->loaded = true;
        }
        public function __call($name, array $arguments) {
            if (!$this->loaded) {
                $this->init();
            }
            return call_user_func_array(array($this->mongo, $name), $arguments);
        }
        public function __callStatic($name, array $arguments) {
            $this->__call($name, $arguments);
        }
        public function __get($name) {
            if (!$this->loaded) {
                $this->init();
            }
            return $this->mongo->$name;
        }
        public function __set($name, $value) {
            if (!$this->loaded) {
                $this->init();
            }
            return $this->mongo->$name = $value;
        }
        public function __isset($name) {
            if (!$this->loaded) {
                $this->init();
            }
            return isset($this->mongo->$name);
        }
        public function __unset($name) {
            if (!$this->loaded) {
                $this->init();
            }
            return unset($this->mongo->$name);
        }
    }
    
    Ответ написан
    Комментировать
  • Организация техпроцесса по разработке сайта (контроль версий, тестирование, обновление на сервере)

    @shsmad
    Дополню предыдущий пост. Очень не плохо иметь time-tracking и ticket системы, например, redmine. Нужно дать возможность оперативно регистрировать ошибки, причем желательно не только внутри компании, но и клиентам. Триггеры в SVN можно настроить, чтобы привязывали например коммиты и запросы на исправление ошибок.
    Ответ написан
    2 комментария
  • Как под Android использовать Яндекс.Карты бесплатно? (На МТС или Мегафоне)

    @vanaf Автор вопроса
    Поснифферив траффик брендированных и небрендированных яндекс карт было установлено что первые ломятся на mobile.maps.yandex.net, а вторые на mobile-partners.maps.yandex.net
    Соответственно используя мощь линукса в Android есть два варианта как заставить яндекс.карты быть бесплатными:
    через iptables:
    iptables -t nat -A OUTPUT -m tcp -p tcp --dport 80 -d 93.158.134.138 -j DNAT --to-destination 93.158.134.156
    iptables -t nat -A OUTPUT -m tcp -p tcp --dport 80 -d 213.180.204.138 -j DNAT --to-destination 213.180.204.156
    iptables -t nat -A OUTPUT -m tcp -p tcp --dport 80 -d 87.250.250.138 -j DNAT --to-destination 213.180.204.156

    через /etc/hosts:
    93.158.134.156 mobile.maps.yandex.net
    213.180.204.156 mobile.maps.yandex.net


    P.S. и да конечно у вас должны быть root права на ваш телефон — он же ваш телефон и вы его хозяин.
    Ответ написан
    2 комментария