Как запретить пользователям просматривать страницу и редактировать значения элементов формы? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть простой выпадающий список стран на странице регистрации это пример:

<select id="country" name="reg_contry" class="form-control">
    <option value="Morocco" >Morocco</option>
    <option value="Algeria">Algeria</option>
    <option value="Egypt">Egypt</option>
</select>

Проблема в том, что любой пользователь может редактировать этот выпадающий список через инспектор браузера, а затем отправить форму с некоторыми поддельными значениями. Например, в моем списке нет Germany, но любой пользователь может добавить эту страну вручную с помощью элемента инспектора (Ctrl+Shift+C)

Итак, как я могу предотвратить это изменение? Я не хочу использовать условие в PHP, потому что у меня более 100 стран, поэтому я не могу проверить все эти страны.

1 Ответ

2 голосов
/ 05 июля 2019

Вы не можете запретить пользователю просматривать веб-сайт и редактировать значения. Все, что поступает от пользователя / клиентской стороны, не может быть доверенным, так как им можно манипулировать так или иначе.

Единственный и правильный способ - проверить его на стороне сервера перед вставкой данных. Любые данные, которые вы отправляете в базу данных, всегда должны быть проверены на стороне сервера (клиентская сторона в порядке дополнительно , но не вместо этого - так как проверка на стороне клиента может, как и HTML, быть изменена пользователем локально).

$error = [];
if (!in_array($_POST['reg_contry'], ['Morocco', 'Algeria', 'Egypt']) {
    $error[] = 'An incorrect value for country was given';
}

if (empty($error)) {
    // Run your query and insert the data if there were no errors
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...