Апокалипсис: 1. Сколько серверов? 1, 2, 100 ? Если 1-2, то думаю пофигу.
2. Можно же данные доставить интернетом уже позже.
1. 4 сервера
2. Можно, но это лишний гемор. Для каждого из серверов придется бэкапить 4 SAS диска по 1Тб, форматировать, отправлять данные, восстанавливать. Поэтому и интересуют правовые вопросы такой пересылки.
r0mik: рекомендуют при наличии заголовка HTTP_CF_CONNECTING_IP подставлять из него значение в REMOTE_ADDR.
Я на сервере вижу IP cloudflare в переменной REMOTE_ADDR и вижу реальный IP в HTTP_CF_CONNECTING_IP.
Если я сделаю это
r0mik: if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; }
то при наличии HTTP_CF_CONNECTING_IP обе переменные получат одинаковое значение. Какой в этом смысл?
Мне нужно заблокировать пользователя, пришедшего с адреса HTTP_CF_CONNECTING_IP. Если в htaccess я запишу
deny from (значение из HTTP_CF_CONNECTING_IP)
так он не заблокируется.
А если запишу
deny from (значение из REMOTE_ADDR)
пользователь заблокируется, но как уже писал для одного и того-же внешнего IP cloudflare выдает разные свои IP, поэтому со временем так я полностью заблокирую доступ к сайту.
Так-же есть апач 2.4, под него ставил этот мод https://www.apachehaus.net/modules/mod_cloudflare/ Вроде ошибок нет, но в логах по прежнему IP cloudflare. Может там еще настройки нужны какие-то? Хотя в инструкции по установке ничего такого нет.
Оригинальный IP я получаю через переменную cf-connecting-ip, но что толку, как им воспользоваться?
Оптимизайка: Vitaly2012, значит настройки виртуальных хостов разные, в одном сайте есть HostnameLookups а в другом нет, а валится все в один лог. См. .htaccess'ы, там могут переопределяться настройки основного конфига апача.
Все виртуалхосты одинаковые, опции HostnameLookups там нет (
Для каждого виртуалхоста указан свой лог, поэтому все в один лог не валится.
.htaccess'ы смотрю, пока там тоже ничего не нашел.
1. Сколько серверов? 1, 2, 100 ? Если 1-2, то думаю пофигу.
2. Можно же данные доставить интернетом уже позже.
1. 4 сервера
2. Можно, но это лишний гемор. Для каждого из серверов придется бэкапить 4 SAS диска по 1Тб, форматировать, отправлять данные, восстанавливать. Поэтому и интересуют правовые вопросы такой пересылки.
Большое вам спасибо, помогли ))
Оптимизайка, Да, это оно ). Вот так
SetEnvIf X-FORWARDED-FOR 111.222.333.444 denyclient
Deny from env=denyclient
действительно можно забанить через htaccess в моем случае.
Спасибо огромное, уже не раз выручаешь!
рекомендуют при наличии заголовка HTTP_CF_CONNECTING_IP подставлять из него значение в REMOTE_ADDR.
Я на сервере вижу IP cloudflare в переменной REMOTE_ADDR и вижу реальный IP в HTTP_CF_CONNECTING_IP.
Если я сделаю это
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; }
то при наличии HTTP_CF_CONNECTING_IP обе переменные получат одинаковое значение. Какой в этом смысл?
Мне нужно заблокировать пользователя, пришедшего с адреса HTTP_CF_CONNECTING_IP. Если в htaccess я запишу
deny from (значение из HTTP_CF_CONNECTING_IP)
так он не заблокируется.
А если запишу
deny from (значение из REMOTE_ADDR)
пользователь заблокируется, но как уже писал для одного и того-же внешнего IP cloudflare выдает разные свои IP, поэтому со временем так я полностью заблокирую доступ к сайту.
У меня апач 2.2 под виндовс. Устанавливал на него mod_cloudflare 1.0.1 и 1.0.2 из этой темы https://www.apachelounge.com/viewtopic.php?t=3876
Так-же есть апач 2.4, под него ставил этот мод https://www.apachehaus.net/modules/mod_cloudflare/ Вроде ошибок нет, но в логах по прежнему IP cloudflare. Может там еще настройки нужны какие-то? Хотя в инструкции по установке ничего такого нет.
Оригинальный IP я получаю через переменную cf-connecting-ip, но что толку, как им воспользоваться?
Как я понял вы хотите заблокировать какой то IP? Если да, то в cloudflare есть блеклист. Добавьте туда плохой IP
Раньше я php скриптом добавлял в htaccess блокировку нужных IP, теперь получается только вручную через сайт cloudflare ?
https://support.cloudflare.com/hc/en...ng-Visitor-IPs
Там много ссылок, что конкретно мне поможет?
Просто апач
Вроде нашел, но получил новую проблему.
В виртуал хосте у меня было указано
<VirtualHost *:80>
ServerName "site.ru"
ServerAlias "site.ru" "*.site.ru"
DocumentRoot "/user/site.ru/"
.....
То есть основной сайт у меня открывался по всем поддоменам 1.site.ru, 2.site.ru, любой_поддомен.site.ru
Из-за этого как я понял и была эта проблема, что ip записывался в виде хоста.
И я переделал так
<VirtualHost *:80>
ServerName "site.ru"
ServerAlias "site.ru" "www.site.ru"
DocumentRoot "/user/site.ru/"
.....
а для того, чтобы не терять трафик с поддоменов (если они проиндексированы), поставил ниже
в httpd.conf
<VirtualHost *:80>
ServerName "site.ru"
ServerAlias "*.site.ru"
DocumentRoot "/user/site.ru/all/"
.....
А в папку all закинул htaccess c содержимым
Redirect 301 / http://site.ru/
Теперь оно работает так, если клиент заходит на site.ru или www.site.ru его кидает в папку /user/site.ru/,
а если заходит на любой другой поддомен, его кидает в папку /user/site.ru/all/, а оттуда на http://site.ru/
Но после этого в логах появились такие ошибки
[Sat Jun 23 21:19:28 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://gadanie.site.ru/
[Sat Jun 23 21:19:28 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://gadanie.site.ru/
[Sat Jun 23 21:19:55 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://forum.site.ru/
[Sat Jun 23 21:19:56 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://forum.site.ru/
Что я не правильно сделал?
Vitaly2012, значит настройки виртуальных хостов разные, в одном сайте есть HostnameLookups а в другом нет, а валится все в один лог. См. .htaccess'ы, там могут переопределяться настройки основного конфига апача.
Все виртуалхосты одинаковые, опции HostnameLookups там нет (
Для каждого виртуалхоста указан свой лог, поэтому все в один лог не валится.
.htaccess'ы смотрю, пока там тоже ничего не нашел.
Vitaly2012, потому что не у всех ip прописан PTR.
Даже вот взять две записи из лога, которые идут подряд
66.249.64.22
crawl-66-249-64-22.googlebot.com
Не может же быть такого, чтобы у одного ip был прописан PTR, а у другого - нет. Они ведь одинаковы эти ip.
И кстати, что интересно на некоторых сайтах, которые работают на этом-же apache такого не происходит, в лог записываются только IP.