Viper, у меня к денверу претензий нет. Наоборот, если он находит точку, ее можно обрезать. Как раз проблема в том, что на хостинге хотя $_SERVER['HTTP_HOST'] и определяется без точки, сайт все же открывается с ней, что не позволяет как-то повлиять на ситуацию.
Viper пишет:
можно, но не нужно ибо
Я так полагаю, вы говорите о решении, описанном здесь: http://habrahabr[dot]ru/post/172999/
Однако, как я понимаю, это решение реализуется на уровне администратора сервера, а хотелось бы что-нибудь попроще, реализуемое на уровне сайта. И насколько я понял, такого решения нет.
Как я понимаю, урл, по которому открывается вебстраница, определяется как
http://$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']
Однако, если в конце доменного имени поставить точку, то сайт открывается как зеркало.
Иными словами, сайт может быть доступен как по адресу
И если при этом на денвере $_SERVER['HTTP_HOST'] определяется вместе с этой точкой, то на хостинге $_SERVER['HTTP_HOST'] определяется без нее.
Вопрос: возможно ли средствами php определить наличие точки между $_SERVER['HTTP_HOST'] и $_SERVER['REQUEST_URI']?
2 возвращает начиная с позиции первого входжения..., а тк ищем word2 и если вернет word2 (word2==word2) - то ясно что слово и есть последнее
Но ведь это сработает и в случае http://www.site.ru/*word2$, и в случае, например, http://www.site.ru/*word2?page=5$. Ведь в обоих случаях присутствует вхождение word2. Или я чего-то не понимаю? (Добавление)
broshurkaplus пишет:
если слово не 100500символов и знаете что word2 именно в конце, а не 5 раз посередине.
В том-то и дело, что мне надо не просто найти это слово, а проверить, что после него в урл не поставили что-то еще.
для получения вхождения (и/или их количества) курите функции работы со строками, это быстрее чем регулярка
strpos для получения вхождения word1 - вы ж сами пишете не false - ок
strstr - для word2 если вернет word2 то ок
В случае с word1 вы правы - пока поставил strstr, но попробую заменить на strpos. А в случае с word2 мне нужно обнаружить наличие любого количества любых символов после него, так что решил через preg_match с регуляркой '/word2.+/i'
Мне нужно проверить request_uri на предмет одновременного соблюдения в нем двух условий:
1) наличия у него внутри слова word1
2) что request_uri заканчивается словом word2.
Как я понимаю, что для этого следует использовать
С помощью команды host выполните обратный DNS-запрос IP-адреса, который можно узнать в журнале.
Убедитесь, что доменное имя – googlebot.com или google.com.
С помощью команды host выполните прямой запрос DNS на преобразование доменного имени, которое вы узнали на шаге 1. IP-адрес, полученный в результате, и исходный должны совпадать.
Только не из журнала, а в режиме реального времени. Это возможно?
То есть этот шаг позволит получить IP зашедшего. А с чем его сравнить? D гугле говорят следующее:
Цитата:
Компания Google не публикует "белые списки" IP-адресов для веб-мастеров. Они могут изменяться, что вызовет проблемы на сайтах, где эти адреса указаны в коде.
И рекомендуют сделать следующее:
Цитата:
Как убедиться, что сайт сканируется роботом Googlebot:
С помощью команды host выполните обратный DNS-запрос IP-адреса, который можно узнать в журнале.
Убедитесь, что доменное имя – googlebot.com или google.com.
С помощью команды host выполните прямой запрос DNS на преобразование доменного имени, которое вы узнали на шаге 1. IP-адрес, полученный в результате, и исходный должны совпадать.
Проблема в проверке IP. Как его проверить? (Добавление)
DlTA пишет:
но для начала в robots.txt пропишите предпочитаемое время/задержку для бота, может учтут
Попробую, но маловероятно. У меня на другом сайте схожая ситуация с фейковым яндексботом. В роботсе для яндекса стоит задержка в 10 сек., а подделка все равно отправляет по нескольку запросов в секунду.
если по логам видно что это гуглбот, а по ip это не он, вот и баньте
Как банить? В секунду до 10 запросов, и каждый с разных IP. То есть совсем с разных - даже диапазоны разные. Причем они практически не повторяются - в течение часа каждый запрос с другого IP.
В последнее время заметил в логах сервера фальшивый Googlebot. Похоже, сканирует сайт с ботнета - по 2-10 запросов в секунду, и каждый раз с нового IP. При этом диапазон IP совершенно непредсказуем - то Вьетнам, то Кыргызстан, то Мексика и т. д.
В гугле говорят, что диапазон своих белых IP не раскрывают, так что, как я понимаю, блокировка по IP методом исключения - не вариант. Реально ли вообще как-то с этим бороться?