Автор Тема: определение referrer  (Прочитано 2899 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн restart2003

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 58
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
определение referrer
« : 27 Января 2004, 02:00:55 »
Для большей секурности своего форума решил в скрипт ответа/создания новой темы всунуть проверку refferer, чтобы параметры не передавались с посторонних сайтов. Пока сделал через if($ENV{HTTP_REFERRER} =~ /$forum_url/i). Но ведь никто не мешает передать скрипту параметры со страницы http://xakep.ru/hack.html?урл_моего_форума. Отсюда плавно вытекает вопрос: как проверить, что искомая строка не находится после знака \'?\', т.е. является не параметром, а реальным урл-ом. Только с помощью регэкспов?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
определение referrer
« Ответ #1 : 27 Января 2004, 11:17:46 »
f($ENV{HTTP_REFERRER} =~ /^\\Q$forum_url\\E/i)
The documentations is your friend

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
определение referrer
« Ответ #2 : 27 Января 2004, 11:24:37 »
все зависит от того что содержится в $forum_url если http://www.myurl.com то так
/^\\Q$forum_url\\E/i
только тогда не будут валидными запросы с http://myurl.com ( если конечно это одно и тоже )
если $forum_url содержит myurl.com то
=~m%^http(s)?://(www\\.)?\\Q$forum_url\\E%

а вообще не возлагай сильную защиту на реферрер

Оффлайн restart2003

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 58
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
определение referrer
« Ответ #3 : 28 Января 2004, 07:55:37 »
Alone
У меня и с www и без работает. Особых надежд на реферрер я и не возлагаю, так, "защита от дурака" :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28