|
|
ru.cgi.perl
- RU.CGI.PERL ------------------------------------------------------------------
From : Artem Chuprina 2:5020/400 13 Jun 2001 11:24:23
To : Anton Kudris A
Subject : Re: проверка $ENV{'HTTP_REFERER'}
--------------------------------------------------------------------------------
Здравствуй, Anton Kudris A.. AKA> Помогите сделать сабж. Hужно, чтобы скрипт работал с данными которые AKA> поступили с моей форме, а не с чужой. Я пробовал делать так AKA> my @domens = qw (http://www.jod.ru/index.php?show=gb&page=2 . еще адреса. ) AKA> if ( grep /^$ENV{'HTTP_REFERER'}/, @domens ) { AKA> print "OK."; AKA> } else { AKA> print "error." AKA> Это работает до тех пор, пока адреса в @domens вида AKA> http://www.aaa.bbb/ccc.htm, но у меня в адресе есть и '?' и '=' и AKA> вышеописанная конструкция на адресе вида AKA> http://www.host.ru/index.php?param1=someinfo¶m2=someinfo уже не AKA> работает. Естественно. perldoc perlre. AKA> Я пока сделал так: AKA> my @domens = qw (http://www.jod.ru/index.php?show=gb&page=2 .... ): AKA> foreach my $a (@domens) { AKA> if ( $a eq $ENV{'HTTP_REFERER'} ) { AKA> print "ok\n"; AKA> exit; AKA> } AKA> Hо это выглядит уж очень некрасиво. И потом, адрес может быть таким AKA> http://.../index.php?page=2, а может и .../index.php?page=45 AKA> Hе вносить же в @domens все адреса с page=1..45 AKA> Как это всё лучше сделать? my @domens = qw(http://www.jod.ru/index.php\\?show=gb&page=\\d+ ...) if ( grep $ENV{'HTTP_REFERER'} =~ /^$_$/, @domens ) ... AKA> З.Ы. практические никакие модули хостер использовать не даёт :( А ты его не спрашивай... -- Artem Chuprina E-mail: ran@ran.pp.ru Programmer FIDO: 2:5020/371.32 Memonet Ltd. Phone: +7-095-284-1356 --- ifmail v.2.15dev5 * Origin: NTV Internet (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/16483036bddb5.html, оценка из 5, голосов 10
|