Запрет в htaccess на доступ к POST /edit

KV
На сайте с 21.12.2011
Offline
68
#61

Ребята, большое спасибо тем, кто тут писал.

RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^(.*/)?edit$ - [L,F]

Вот этот метод пригодился.

http://networker.by/blokirovka-post-zaprosov-v-htaccess/ - эту ссылку уже давали здесь. Последний пример, тот что процитировал. Сразу защите когда EDIT и с главной идет и с внутренних страниц тоже.

----------------------------------------------

----------------------------------

Я вот смотрю по логам и иногда просто есть запросы POST без /edit

Например:

POST / HTTP/1.0" 200 126356 "http://НашСайт/МсамаСтраница.html" "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12

Такие запросы тоже жрут много ресурсов хостинга, наверняка они тоже у вас есть.

У меня предложение заблокировать полностью POST кроме IP вашего сервера на котором хостинг у вас, потому как работает Cron как раз с методом POST.

Пользователи, вы сами и боты, все работают на методе GET.

---------------------------------------

Подскажите, кто разбирается, как осуществить Блокировку всех запросов POST кроме определенных IP?

Так чтобы блокировать запросы, пример которого привел выше.

siv1987
На сайте с 02.04.2009
Offline
427
#62
Klichko_Vladimir:
Подскажите, кто разбирается, как осуществить Блокировку всех запросов POST кроме определенных IP?

RewriteCond %{REQUEST_METHOD} POST

RewriteCond %{REMOTE_ADDR} !=127.0.0.1

RewriteCond %{REMOTE_ADDR} !=127.0.0.2

RewriteRule ^ - [F,L]

A
На сайте с 20.08.2010
Offline
775
#63

Попробую этот. Не хотелось бы, но придется видимо :(

RewriteCond %{REQUEST_METHOD} =POST
RewriteRule .*/undefined$ - [L,F]
KV
На сайте с 21.12.2011
Offline
68
#64

Спасибо за ответ.

siv1987:
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=127.0.0.2
RewriteRule ^ - [F,L]

1) Почему именно 127.0.0.1 и 127.0.0.2 ? У меня по логам Cron работает на другом айпи. Или это у вас для примера? И вместо них можно 1 IP определенный указать?

2) Как думаете, правильные ли мои рассуждения насчет того, что POST только Cron использует?

У меня например форма обратной связи есть, ее наверно тоже будет блокировать.

Как исключить ещё и отдельные страницы от блокировки?

Например такую: мойСайт/обратнаяСвязь

----------------------------------------

Еще есть такого вида запросы:

GET /function%20()%7Bvar%20d=[];for(var%.....много_символов...;}return%20d;} HTTP/1.0" 404 1024 "http://НАШсайт/ОпределеннаяСтраница.html" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36

Как такие запросы блокировать?

Приходит в голову 2 метода:

1) это блокировать по слову function

2) по длине запроса

Можете подсказать, добрые люди, как осуществить эти 2 метода?

siv1987
На сайте с 02.04.2009
Offline
427
#65
Klichko_Vladimir:
1) Почему именно 127.0.0.1 и 127.0.0.2 ? У меня по логам Cron работает на другом айпи. Или это у вас для примера? И вместо них можно 1 IP определенный указать?

Под 127.0.0.1 и 127.0.0.2 имелось ввиду "определенные IP", не конкретные адреса. Можно 1, можно десять подобным образом перечислить.

Klichko_Vladimir:
2) Как думаете, правильные ли мои рассуждения насчет того, что POST только Cron использует?

Думаю что неправильные. POST используется повсеместно, для авторизации, загрузке файлов, публикации новостей и тд.

WU
На сайте с 07.10.2007
Offline
173
#66

у кого есть доступ к хабру, спросите пароль от плагинов из этой темы http://habrahabr.ru/qa/42608/ , которые такие запросы посылают. Хотелось бы посмотреть, что этим плагинам нужно. Пароль everysale для внутренних архивов не подходит.

seodamage666
На сайте с 10.07.2013
Offline
9
#67

Внесу свои 5 копеек:

У кого шелл, сваляйте скрипт что то вроде

#!/bin/bash


cat /var/log/nginx/access.log | grep -o "POST" | sort | uniq >> ~/today

или

cat /var/log/apache/access.log | grep -o "POST" | sort | uniq >> ~/today

И занесите его в cron


crontab -e

придется поискать инфу: cron sudo

Лучше всего банить негодяев на стороне фаервола, а не веб сервера и делать это не с помощью iptables, а надстройкой для него ipset. При большом количестве правил iptables будет грузить проц. Инфу можно взять тут

A
На сайте с 20.08.2010
Offline
775
#68
WSGU:
у кого есть доступ к хабру, спросите пароль от плагинов из этой темы http://habrahabr.ru/qa/42608/ , которые такие запросы посылают. Хотелось бы посмотреть, что этим плагинам нужно. Пароль everysale для внутренних архивов не подходит.

Весело. Теперь осталось узнать смысл этой темы.

Ставил сегодня

RewriteCond %{REQUEST_METHOD} =POST
RewriteRule .*/undefined$ - [L,F]

Запускал test.html, не работает. Вроде все правильно делал

KV
На сайте с 21.12.2011
Offline
68
#69
siv1987:
Под 127.0.0.1 и 127.0.0.2 имелось ввиду "определенные IP", не конкретные адреса. Можно 1, можно десять подобным образом перечислить.

Думаю что неправильные. POST используется повсеместно, для авторизации, загрузке файлов, публикации новостей и тд.

siv1987 ivan-lev или кто разбирается. Подскажите пожалуйста, как исключить еще определенные страницы, кроме определенных IP.

------------------------------------------------------

PS1 Метод подходит, так как работает над сайтом 1 человек и 1 Cron потому это лучший способ. Сейчас /edit, /undefined - потом еще может что-то добавиться. Этим способом просто будет блокировка для всех возможных с методом POST.

------------------------------------------------

PS2 Сейчас в логах уже нашел с POST-ом пытаются заходить на .php страницы служебные сайта.

awasome все работает, ставьте правило вначале, смотрите на 4-5 страницах этой темы куда именно. Тест фаил может на так создали, тоже проверьте.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#70

Я не разбираюсь, но напишу:)

Для www.site.ru/contacts и для www.site.ru/main.html


RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=127.0.0.2
RewriteRule ^contacts|main\.html$ - [F,L]
Подпись))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий