Контроль параметров GET запроса

12 3
S
На сайте с 20.08.2013
Offline
29
2663

Добрый день! На сервер передаются get параметры вида

site.ru/?category=1&id=2

Как сделать контроль этих параметров, чтобы нельзя было ввести в адресную строку, например такой запрос:

site.ru/?category=1&category=2&id=2&id=3,

т.е. каждый параметр должен быть только один раз, и не было лишних параметров,

например site.ru/?category=1&id=2&qqq=555 иначе возвращать 404 ошибку. Я так полагаю что можно сделать средствами php или может быть .htaccess?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

А я вам как старый еврей вопросам на вопрос, а зачем это делать?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
DiAksID
На сайте с 02.08.2008
Offline
236
#2
LEOnidUKG:
А я вам как старый еврей вопросам на вопрос, а зачем это делать?

дрочка на "дубли", что ж ещё 😂 нубы такие смешные...

show must go on !!!...
S
На сайте с 20.08.2013
Offline
29
#3

DiAksID, В общем-то да, вашими словами - дрочка на дубли, ну а раз вы корефеи форума, то кроме данного комментария, хотя бы для того чтобы оставить более полезное сообщение, могли бы дать совет - типа

if (substr_count($_SERVER['REQUEST_URI'], "category") >1) ...;

Может тогда ответите как исключить из запроса ненужные параметры - которые не используются в запросе 100% А заодно почистить запрос от sql иньекций?

Можете считать - это вызов вашим знаниям, против нубов.

bay_ebook
На сайте с 28.05.2010
Offline
111
#4
Swif:

Можете считать - это вызов вашим знаниям, против нубов.

качаем и смотрим как сделаны uri в CodeIgnitor или Yii - думаю там много ответом будет. Правда придется покопаться в коде.

ПС - врятли кто-то захочет тут вам расписывать, как все это делается, долго и не интересно :)

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
DiAksID
На сайте с 02.08.2008
Offline
236
#5
Swif:
DiAksID, ... Может тогда ответите как исключить из запроса ненужные параметры - которые не используются в запросе 100% А заодно почистить запрос от sql иньекций? ...

руками и чуть чуть мозгом - у PHP вполне себе открытая документация, а детали зависят от реализации роутера.

кроме того:

- если роутер системы сам не генерит левые параметры в ссылках, чистить ничего не придётся

- валидация GET запросов отдельная тема

Swif:
... Можете считать - это вызов вашим знаниям, против нубов.

не нужно для этой задачи никаких особых "знаний" 😂 нубы реально смешные (это не оскорбление, просто констатация)

S
На сайте с 20.08.2013
Offline
29
#6
DiAksID:

кроме того:
- если роутер системы сам не генерит левые параметры в ссылках, чистить ничего не придётся
- валидация GET запросов отдельная тема

роутеры тут ни при чем - реализация против дублей: Конкуренты покупают пачки ссылок с дублирующимся параметрами на мой сайт. А про валидацию get, если не в этой теме, может посоветуете куда обратиться? По-моему раздел форума соответствующий, и тему создал конкретную, но во всяком случае, от вас, как я понял, по теме комментариев не получу. Посему попрошу не сорить некчемными цитатами

DiAksID
На сайте с 02.08.2008
Offline
236
#7
Swif:
роутеры тут ни при чем...

роутерЫ ? мда, если не знать, что такое роутер CMS - конечно ни при чём ;) только вот именно он обрабатывает request_string и организует перенаправление + отвечает за генерацию вида внутренних ссылок, вот ведь какая досада...

S
На сайте с 20.08.2013
Offline
29
#8

Досада в том что это не CMS, а самописный движок, и $_SERVER['REQUEST_URI'] я и пытаюсь обработать. в том то и вопрос топика, Конечно, если вы только с CMS работаете, то мы не поймем друг друга, ибо ваших знаний в php для этого не достаточно...

[Удален]
#9

Swif, дык если у вас с ? - то проще разбирать всю строку напрямую пыхом.

А вообще нормальный движок не должен содержать адреса с ?, которые нужно индексировать.

bay_ebook
На сайте с 28.05.2010
Offline
111
#10
Swif:
Досада в том что это не CMS, а самописный движок, и $_SERVER['REQUEST_URI'] я и пытаюсь обработать. в том то и вопрос топика

ну так и ответ - смотрите как сделаны роуты в фреймворках/уже существующих цмс :)

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий