Я создаю поиск в боковой панели (щелкнув параметры) и выбирая переменные, выбранные для создания запроса sql.
Более конкретно:
1. пользователь выбирает параметры в боковой панели.
2. Я создаю str (как URL для вызова), основываясь на этих выборках, добавляя params как 'param1 = value &' ...
3. ajax-вызов php controller-> model-> query dababase на основе параметров через $ _GET.
В конце я использую подготовленные утверждения, но теоретически злоумышленник может составить свой собственный URL. Чтобы избежать этого, я предварительно указываю допустимые значения ($ keysArr), и, если переменные $ _GET отсутствуют, скрипт умирает. Также просто добавьте int () к ожидаемым числовым значениям, чтобы php выдавал ошибку и выдавал ошибку, если это не int.
$keysArr = ['x', 'y', 'z'];
foreach ($ArrfromGET as $key => $value) {
if (!in_array($key, $keysArr)) {
die("don't attack me");
}
}
Я делаю это правильно?
Поиск основан на значениях, сгенерированных динамически, поэтому я не уверен, что с этим делать. Код основан на (https://www.w3schools.com/js/js_ajax_database.asp);