向服务器发送非法值
我的表单有一个州名称的下拉列表。当用户提交表单时,它会将其发送到我的 php 脚本,该脚本又将其添加到我的 mysql 数据库中。
如果用户使用 firebug 更改状态值并提交它,则它不起作用,因为我的数据库不支持外键。
一种解决方案是将接收到的状态与状态表进行比较。 (不仅是字段,还有国家、城市、出生年份、工作等...)
大家知道另一种解决方案吗?
My form has a drop down list for state names. When the user submits the form, it sends it to my php script which in turn, adds it to my mysql database.
If a user changes the state value with firebug and submits it, it doesn't work because my database doesn't support foreign keys.
One solution is comparing received state with the state table.
(It is not only field, there is country, city, birthyear, job etc...)
does everyone know another solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我会这样做:
当用户提交值(状态名称)时,它有一个内部索引(html 元素的 id 值)。然后,检查您的数据库以查找与索引号匹配的州名称。
你也可以这样做。确保使用 php 脚本而不是 javascript 执行此操作。
I would do this:
When the user submits the value (state name) it has an internal index (an id value for the html element). Then, check with your database to find the state name that matches the index number.
You could do that too. Make sure you do it with the php script and not javascript.
要么:
A)在将输入添加到数据库之前验证您的输入
B)使用枚举
Either:
A) validate your input before adding it to the db
B) use an enum
不要直接将数据插入数据库...在触发插入查询之前,首先检查该值是否存在于主表中...
如果主表中存在该值,则仅向您想要的表触发插入查询。
Dont directly insert data to database...Before you fire insert query,,,first check whether that values is exist in the master table or not...
If the value in exist in master table then only fire insert query to your desire table..