RSS как защитить
Существует такая система.
У нас есть около 7 RSS потоков и мы разрешаем ставить их себе на сайт только при условии того, что данный ресурс указывает, что например новости беруться с нашего ресурса и ставит ссылку. Как можно проконтролировать данный процесс т.е проверить стоит ссылка или нет?
Заранее благодарю.
Но тогда придётся закрыть доступ пользователям Opera, FireFox. И вообще сама идеология RSS предполагает свободное использование информации.
Самое простое решение - давайть прямые ссылки на ваш сайт в ленте.
Это вопрос не технический, а скорее политический.
Есть такая штука и называется регулярные выражения, ссылки вырежут и всё.
REFERER тоже легко можно изменить.
Ну вычислю я ip адрес хоста и что дальше?
Поподробней расскажите плиз про яндекс XML
с таким параноидальным подходом и HTTP Basic Authentication не поможет... Ну вырежут линки, подменят Referer, что от этого? Смертельно? чтобы прочитать полную статью - всё равно на сайт к вам ссылки должны быть.
хотелось бы подробнее узнать, почему именно так и никак иначе.
В том то всё и дело, что у нас в рсс поток загоняется полная статья и это нужно.
REFERER тоже легко можно изменить.
Ну вычислю я ip адрес хоста и что дальше?
Поподробней расскажите плиз про яндекс XML
А чего тут рассказывать. Вот например поисковый запрос, который находит вот эту статью по названию:
http://www.yandex.ru/yandsearch?stype=&nl=0&text=%22%C7%E0%F9%E8%F2%E0+Web-%F4%EE%F0%EC+%EE%F2+%E0%E2%F2%EE%EC%E0%F2%E8%F7%E5%F1%EA%EE%E9+%EE%E1%F0%E0%E1%EE%F2%EA%E8%22
Для более правильного поиска можно искать не по названию а по содержимому.
Возьмем второй результат и проверим есть ли на сайте www.ishodniki.ru ссылка на www.codenet.ru:
http://www.yandex.ru/yandsearch?ras=1&date=&text=&spcctx=notfar&zone=all&linkto=&wordforms=all&lang=all&within=0&from_day=&from_month=&from_year=&to_day=21&to_month=11&to_year=2006&mime=all&Link=http%3A%2F%2Fwww.codenet.ru&rstr=&site=http%3A%2F%2Fwww.ishodniki.ru&numdoc=10&ds=
В общем - идем в расширенный поиск в Яндексе и там балуемся.
Яндекс XML поваляет автоматизировать это процесс. В Яндекс XML есть ограничения на количество поисковых запросов.
http://www.yandex.ru/yandsearch?styp...EE%F2%EA%E8%22
Данный вариант не катит.
Почему?
В RSS потоке не статьи, а обзоры. Такие же обзоры выходят у более 500 сайтов. Сам поток часто обновляется (бывает 1 раз в 3 минуты) и сомневаюсь что яндекс успеет его проиндексировать.
например: rss.php?login=vasya&rssid=4&hash=e10adc3949ba59abbe56e057f20f883e
где login - логин подписчика
rssid - id нужного новостного потока
hash - хэш на основе (например) строки login+password
вдобавок еще можно проверять HTTP_REFERER или REMOTE_ADDR
Можно расширить этот вариант - занести в таблицу по полям login, ip, hash.
Если логин и хеш подходит, а ip адрес не входит в список (диапазон допустимых адресов), тогда блокировать и выдавать вместо rss текст, типа "Ваш сайт не имеет доступа на просмотр RSS" :)
А если развить вашу идею, то достаточно проверять просто по ip сервера
А если развить вашу идею, то достаточно проверять просто по ip сервера
Но у этого сервера может быть куча сайтов)) Один поставил, остальные просто будут юзать его))).
PS Внимательно слежу за дискусией, финал интересен))
Такой вариант возможен, но наврядли, сайт узкотематический. Хотя перестраховаться необходимо.
Мне тоже ;-)
Ты, наверно, уже и исход знаешь? :D
Кстати, если делать авторизацию только по IP. А если же IP+login+hash то замечательно просто будет. ИМХО :)
Собственно чем это отличается от того что я предложил?