Вернуться   Форум SAPE.RU > Практика оптимизации > Софт для оптимизаторов и вебмастеров

-->
Ответ
 
Опции темы
Старый 02.04.2009, 05:42   #1
Мастер
 
Регистрация: 03.07.2007
Сообщений: 959
Вес репутации: 274
Константин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущее
По умолчанию Защита от подстановки переменных в URL c помощью .htaccess

В определенных кругах имеет место быть паранойя насчет того, что "продажные ссылки" вычисляются или могут вычисляться методом подстановки "левых переменных" в URL и сравнением результата.

Не берусь судить, насколько такая паранойя имеет право на существование, а также ленюсь искать, предлагалось ли уже что-либо в качестве "рецепта", но предлагаю такие строки для написания их в .htaccess:

RewriteCond %{THE_REQUEST} ^.*\?.*$
RewriteRule ^(.*)$ /404.html [L]

Комментарий: данный код подходит для сайтов, напропалую использующих .htaccess в целях придания URL-ам сайта "статического" вида (то есть не содержащих в URL строк запроса после символа "?")

В случае обнаружения QUERY_STRING (т.е. при наличии символа "?" в URL) сервер отдает сообщение об ошибке 404, записанное в файле /404.html, то есть к этому результату приводит любая попытка подставить к статическому URL какую-либо левую переменную, а также просто подстановка символа "?" к URL

Если URL-ы сайта имеют "динамический" вид, т.е. могут включать в себя строку запроса с некоторыми разрешенными переменными, то конечно можно вышеприведенные строки .htaccess модифицировать таким образом, чтобы к ошибке 404 приводили только URL-ы неразрешенного на сервере вида - в нашем случае URL-ы с левыми переменными, подставленными к URL справа.

Думаю, особо сложного в этом ничего нет.

Благодарю за внимание
Константин Белокуров вне форума   Ответить с цитированием
Старый 02.04.2009, 11:18   #2
Пафосный резидент
 
Аватар для aship
 
Регистрация: 14.07.2008
Адрес: Pegia
Сообщений: 2,180
Вес репутации: 316
aship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущееaship - прекрасное будущее
По умолчанию

Нюанс тут в том, что никакой 404 ошибки сервер тут не отдаст, он отдаст код ответа 200, т.е., что все ОК! То, что вы назвали файл 404.html вовсе не означает, что сервер отдаст название этого файла в качестве кода ответа.

Бо имя файла и код ответа -- вещи разные.

Это во-первых.
Во-вторых, при заходе по вполне валидному адресу, что-то вроде _http://сайт.ru/index.php?option=blabla, ваша конструкия оправит посетителя на страничку 404.
aship вне форума   Ответить с цитированием
Старый 02.04.2009, 11:37   #3
Мастер
 
Регистрация: 03.07.2007
Сообщений: 959
Вес репутации: 274
Константин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущее
По умолчанию

Дык именно это и требуется, если Вы дали себе труд прочитать и понять написанное.

Если, в свою очередь, я правильно понял Вас, то Вы не поняли, из-за чего сыр бор.

А сыр-бор из-за того, что некоторые считают, что подстановка option=blablabla, например, гуглем, помогает гуглю вычислить т.н. "продажные ссылки", ибо по адресу с подставленным option=blablabla, если не будет принято специальных мер, окажется прежний контент страницы, но исчезнут "продажные" ссылки.

Останется только сравнить содержимое возвращенной страницы с option=blablabla и без оного, и отправить сайт в бан.

Так вот, чтобы дать Гуглю по шаловливым рукам, и педлагается такая запись в .htaccess.

В этом случае при подстановке гуглем или вообще кем попало всяких там левых option=blablabla будет просто возвращаться 404.

То есть гуглю будет сказано сервером "но пасаран!"

Последний раз редактировалось Константин Белокуров; 02.04.2009 в 11:47.
Константин Белокуров вне форума   Ответить с цитированием
Старый 02.04.2009, 11:41   #4
Специалист
 
Аватар для Squish
 
Регистрация: 08.07.2008
Сообщений: 429
Вес репутации: 214
Squish - просто великолепная личностьSquish - просто великолепная личностьSquish - просто великолепная личностьSquish - просто великолепная личностьSquish - просто великолепная личностьSquish - просто великолепная личностьSquish - просто великолепная личность
По умолчанию

Думаю надо вместо 404.html адресовать на 404.php (.pl, ...) который уже будет выдавать соответствующий 404 http заголовок.
__________________
Набираю рефералов, помогу в установке кода на PHP/ASP скрипты/движки/CMS.
Размещайте ссылки навсегда в контексте или текстовых блоках.
Хороший хостинг 1Гб - 60р./мес.
Squish вне форума   Ответить с цитированием
Старый 02.04.2009, 11:45   #5
Мастер
 
Регистрация: 03.07.2007
Сообщений: 959
Вес репутации: 274
Константин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Squish Посмотреть сообщение
Думаю надо вместо 404.html адресовать на 404.php (.pl, ...) который уже будет выдавать соответствующий 404 http заголовок.
А это уже детали. Выдавать можно что угодно, хоть фигу показывать. Главное чтоб контент страницы не выдавался без сапоссылок..
Константин Белокуров вне форума   Ответить с цитированием
Старый 02.04.2009, 11:55   #6
Магистр
 
Аватар для Йода
 
Регистрация: 04.12.2007
Сообщений: 3,681
Вес репутации: 422
Йода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущее
По умолчанию

Константин Белокуров, вы не правы. По "несуществующему" урлу должно отдаваццо только 404, но никак не 200. Иначе толку от всех ваших выкрутасов - ноль.
__________________
С уважением, Йода
Йода вне форума   Ответить с цитированием
Старый 02.04.2009, 12:25   #7
Мастер
 
Регистрация: 03.07.2007
Сообщений: 959
Вес репутации: 274
Константин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущее
По умолчанию

Цитата:
Сообщение от tse Посмотреть сообщение
Константин Белокуров, вы не правы. По "несуществующему" урлу должно отдаваццо только 404, но никак не 200
Выдавать можно хоть черта лысого, лишь бы это не был контент страницы за минусом сапоссылок.

Хочется "официальный" код 404 выдать - ну ради бога! Доработайте соответствующим образом код в .htaccess и выдавайте на здоровье!

Добавлено через 6 минут
Хотя лично я не очень верю в то, что ПС вычисляет "продажные" ссылки путем подстановок в URL-ы. Но тем не менее подстраховаться можно, опять же поупражняться с .htaccess не вредно...

Добавлено через 10 минут
Цитата:
Сообщение от Константин Белокуров Посмотреть сообщение
В этом случае при подстановке гуглем или вообще кем попало всяких там левых option=blablabla будет просто возвращаться 404
Поправочка. Ну, то есть в данном случае возвращаться будет содержимое файла 404.html с кодом 200, что в общем-то для поставленной задачи вполне годится.

Последний раз редактировалось Константин Белокуров; 02.04.2009 в 12:25. Причина: Добавлено сообщение
Константин Белокуров вне форума   Ответить с цитированием
Старый 30.05.2009, 14:33   #8
Специалист
 
Регистрация: 20.03.2009
Адрес: Самара
Сообщений: 131
Вес репутации: 194
Evils - весьма и весьма положительная личностьEvils - весьма и весьма положительная личность
По умолчанию

если и идет проверка на сапоссылки, то там идет проверка на контент + ссылки и контент без ссылок, а у вас будет совершенно другая страница. В принципе итог одинаковый, что 200 что 404. Пример: index.php и index.php?name=name - это 2 разные страницы, первая с контекстом, вторая ведет на 404.html
Evils вне форума   Ответить с цитированием
Старый 30.05.2009, 16:31   #9
Эксперт
 
Аватар для RedPage
 
Регистрация: 23.11.2007
Адрес: Туда ведут благие намерения...
Сообщений: 1,280
Вес репутации: 330
RedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущееRedPage - прекрасное будущее
По умолчанию

В 404.php нужно дописать:
Код:
header("HTTP/1.0 404 Not Found");header("Status: 404 Not Found");
и будет отдаваться заголовок 404, а не 200
__________________
«Chat horoshego nastroeniya» - Ne berut v DMOZ.
RedPage вне форума   Ответить с цитированием
Старый 30.05.2009, 16:48   #10
Специалист
 
Регистрация: 05.01.2009
Адрес: Hohland
Сообщений: 300
Вес репутации: 206
goldscape - просто великолепная личностьgoldscape - просто великолепная личностьgoldscape - просто великолепная личностьgoldscape - просто великолепная личностьgoldscape - просто великолепная личностьgoldscape - просто великолепная личностьgoldscape - просто великолепная личность
По умолчанию

только это параноя некоторых ВМ и не более того.
goldscape вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита от копирования с помощью шифрования страниц сайта sunplant Вопросы от новичков 26 28.12.2008 00:39
поднять пр с помощью перелинковки Nazar Вопросы от новичков 3 18.11.2008 20:47
Права доступа с помощью .htaccess jokero Разработка и сопровождение сайтов 6 22.09.2008 19:56
Пополнение счета с помощью ROBOXchange и WMR Kodhi Вопросы по работе системы 4 15.09.2008 15:01
Уменьшение ВС с помощью rel=nofollow rudomilov Вопросы по работе системы 15 17.01.2008 00:22


Часовой пояс GMT +3, время: 02:25.