Можно придумать какую-нибудь структуру в ЧПУ, по типу /модуль/функция/параметры/параметры/...
На основании этого решать что делать в коде.
Либо изначально жестко задать в RewriteRule различные варианты.
POST/GET обрабатываются точно так же, как и до ЧПУ.
Вы делаете
rewrite .* index.php?params=$1 break
Тогда в $_GET['params'] будет строка типа '/user/showProfile/4', которую вы можете без труда распарсить, а какие-нибудь параметры, типа '/user/showProfile/4?debug=1' будут в $_GET['debug'] отдельно, соотвественно.
В совсем простых случаях делают URL типа /page/страница/параметры. "Страница" выдирается при помощи RewriteRule, затем в коде index.php делается include соотвествующего PHP файла, например, "/page/products/12" - подключается products.php, в котором код уже разбирается что такое 12, которое в том же RewriteRule помещается в GET-параметр params:
rewrite /page/(.+?)/(.+?) /index.php?page=$1¶ms=$2 break
Но надо быть в таких участках очень осторожным и проверять параметр после page, чтобы злоумышленик не мог в итоге заинклудить что угодно.
Через zopros3 и zopros4 могли вбросов понаделать уже ....
Да, не обратил внимания ... Если это убрать или переместить этот кусок - непонятно будет заблокирован ли уже IP или нет. Я так понимаю это сделано именно из этих побуждений :)
Меняем log_dir на root-only доступную директорию и все будет нормально. Не пойдет разве?
Почитал код. Получается если filename НЕТ он создается.
Если файла нет - возвращается -1, который интепретируется как true и мы попадаем в ветку с логированием, отправкой почты. Если файл есть - ничего не происходит.
Какого эффекта хотим достигнуть? :)
Если вы руками создали файл - результат проверки все равно будет HTTP_FORBIDDEN, но в лог это не выведется ("Blacklisting address...") и почтовое сообщение не пошлется.
Я просто предложил сделать на сервере client1.conf и client2.conf, у каждого клиента по conf'у.
У первого клиента сделать, например, "ifconfig 10.0.0.6 10.0.0.5", у второго "ifconfig 10.0.0.10 10.0.0.9".
На серверных client1.conf и client2.conf IP, соотвественно, наоборот.
Разница будет видна при нагрузке. В таком случае смена tcp на udp визуально видна на пинге.---------- Добавлено 27.07.2013 в 01:36 ----------
Все равно не понимаю всей высоты элементарности :) Мой вопрос относился к той ситуации, когда серверов всего два и есть только SNAT: 192.168.0.10 -> SNAT -> ... интернет ... <- SNAT <- 192.168.0.11.
Как тут организовать openvpn туннель если DNAT-а нет?
Либо мы о разных вещах говорим.
То же самое на PHP:
$content = trim( file_get_contents('file.txt') );if( $content === false ) return -1;foreach( explode( "\n", $content ) as $line ) for( $i = '' ; $i < 3; ++$i ) echo "$line-$i$line\n";
Ну,. например адалт может быть в принципе не запрещен, но всякие Zoo и CP - да.
Если сделали с третьей node-ой, то да, все верно.
Мое предложение с p-t-p тоже рабочее, но тогда будет два туннеля - по одному для каждой ноды.
Удобно смотреть на трафик, так как у каждой свой tun, но в данном примере, возможно, смысла нет.
В плане пинга можно еще поэксперементировать с UDP, fast-io. Может чего добавит.
За одну минуту могли сделать вброс в другое место, которое айболитом вы еще не видели :) Да и само наличие вброса должно насторожить.
"zapros1" - это конечно да. Взяли, сразу свою RUпринадлежность выдали :)
Пробовали искать eval'ы с base64_decode? Простой grep на JS ссылку точно ничего не даст. Если шелл есть, то наверняка ужат с помощью base64 и сидит где-нибудь очень глубоко.