Как проверить наличие определенных символов в url-запросе?

Рейтинг: 0Ответов: 2Опубликовано: 07.09.2014

Как удалить из get и post ссылки знаки ------
двойные кавычки - " ",
звездочку *, знак | и другие символы? Вот например:

http://mysite.ru/htm"""l.html
http://mysite.ru/htm****l
http://mysite.ru/htm||||l

Или если есть такой знак, то отправлять на страницу 404.
str_replace, strtr не помогают, и, если можно, код и проверенный ответ.

Ответы

▲ 1
if(preg_match('/\"|\*|\|/', $str)) {
    echo 404;
} else {
    echo 200;
}

А вобще это не правильно, так как нужно проверять на допустимые символы в url, а не запрещать таким макаром все подряд, в итоге разбухнуть может регулярка xD

▲ 0

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