|
|
|
| Здпавствуйте!
Возникла необходимость проверки правильности реферера, причем вместе со всем GET-запросом, если таковой имеется. Т.е. как должно выглядеть рег.выр., которое полностью примет любую корректную ссылку, но ничего лишнего?
Вернее вот такую вешь:
<?php
$ref = "http://www.google.com/search/test.ru/script.php?client=opera&rls=ru&q=gjbcr+dczrjq+dczxbys+%7B%5D+%D0%BF%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2%D1%81%D1%8F%D0%BA%D0%BE%D0%B9+%D0%B2%D1%81%D1%8F%D1%87%D0%B8%D0%BD%D1%8B&sourceid=opera&ie=&oe=utf-8";
$pattern = "|http://([a-z\d-_]*\.)*[a-z]{2,5}(/[a-z\d-_\.]*)*[/a-z\d-_]{1}(\?[a-z\d_]{1,}=[a-z\d_\+\%-]*(&[a-z\d_]{1,}=[a-z\d_\+\%-]*)*)?|i";
$ref = preg_match($pattern,$ref,$out);
?>
| я уже написал, поэтому вопрос наверно можно перефразировать так:
Какие символы кроме a-z, 0-9, _, +, - и % могут встречаться в корректном GET-запросе? =) | |
|
|
|
|
|
|
|
для: Sfinks
(09.02.2007 в 12:31)
| | Даже вот так вот:
$pattern = "|http://([a-z\d-_]*\.)*[a-z]{2,5}(/[a-z\d-_\.]*)*[/a-z\d-_]{1}(\?[a-z]{1}[a-z\d_]*=[a-z\d_\+\%-]*(&[a-z]{1}[a-z\d_]*=[a-z\d_\+\%-]*)*)?|i";
| будет точнее, т.к. имя переменной должно начинаться с латинской буквы. | |
|
|
|
|
|
|
|
для: Sfinks
(09.02.2007 в 12:31)
| | Точка, прямой и обратный слеши, запятая | |
|
|
|