Отправка недопустимого значения на сервер

#php #mysql #security #firebug #server-side

#php #mysql #Безопасность #firebug #на стороне сервера

Вопрос:

В моей форме есть выпадающий список для названий состояний. Когда пользователь отправляет форму, он отправляет ее моему php-скрипту, который, в свою очередь, добавляет ее в мою базу данных mysql.

Если пользователь изменяет значение состояния с помощью firebug и отправляет его, это не работает, потому что моя база данных не поддерживает внешние ключи.

Одним из решений является сравнение полученного состояния с таблицей состояний. (Это не только поле, есть страна, город, год рождения, работа и т.д. …)

все ли знают другое решение?

Комментарии:

1. привет, Алексий. вы полностью меняете мой вопрос. (Как это можно исправить?)???

2. Я не верю, что полностью изменил ваш вопрос (т. е. он по-прежнему имеет тот же смысл). Я опубликовал ответ.

3. спасибо за редактирование и ответ

Ответ №1:

Одним из решений является сравнение полученного состояния с таблицей состояний.

Комментарии:

1. что, если я скопирую разрешенные значения состояния в массив и проверю с помощью in_arary()? у меня есть какие-либо поля типа state, поэтому проверка занимает много времени?

2. @a.v вы все это сказали. не массив, а таблица. сравните его с таблицей состояний.

Ответ №2:

Я бы сделал это:

Когда пользователь отправляет значение (название состояния), оно имеет внутренний индекс (значение идентификатора для html-элемента). Затем проверьте свою базу данных, чтобы найти имя состояния, которое соответствует номеру индекса.

что, если я скопирую разрешенные значения состояния в массив и проверю с помощью in_arary()?

Вы тоже могли бы это сделать. Убедитесь, что вы делаете это с помощью php-скрипта, а не javascript.

Ответ №3:

Либо:

А) проверьте свои входные данные перед добавлением их в базу данных Б) используйте перечисление

Комментарии:

1. что, если я скопирую разрешенные значения состояния в массив и проверю с помощью in_arary()?

2. Это зависит от того, как часто будут меняться данные вашего состояния (и другие). Если это достаточно исправлено, я бы просто сохранил возможные значения в коде и проверил их соответствие, чтобы избежать ненужных обращений к базе данных. Если возможные значения, вероятно, изменятся, то обязательно сохраните их в базе данных.

Ответ №4:

Не вставляйте данные напрямую в базу данных…Перед запуском запроса insert,,, сначала проверьте, существуют ли эти значения в главной таблице или нет… Если значение in существует в главной таблице, то запускайте запрос insert только в вашу таблицу желаний..

Комментарии:

1. что, если я скопирую разрешенные значения состояния в массив и проверю с помощью in_arary()?