@dzoid

Как проверить если $_GET параметр начинается с 0?

Есть сайт с базой объектов недвижимости для вывода объекта используется это:

RewriteRule ^object/([0-9]+)(/?)+$ index.php?do=object&object_id=$1&title=$2 [L]


на странице получения параметров делается так,

$object_id = intval($_GET['object_id']);

Но таким образом получается что ссылка вида
site.ru/object/100/kvartira7
и ссылка вида
site.ru/object/0100/kvartira7
так же как и
site.ru/object/00100/kvartira7

Ведут на одну страницу, как можно это исправить не сильно нагрузив при этом проект?
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 2
@D3lphi
При помощи PHP:

if ($_GET['object_id'][0] === '0') {
    // Отдаем 404
}

$object_id = intval($_GET['object_id']);


Или при помощи настройки веб-сервера:

RewriteRule ^object/([1-9][0-9]*)(/?)+$ index.php?do=object&object_id=$1&title=$2 [L]
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Если вам важны эти лидирующие нули - уберите intval.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы