python - 根据数据库正确验证 HTML POST

标签 python html mysql django

我正在使用 Django 1.9 和 python 2.7 构建一个网站。在我的网站上,我有一个结帐页面,用户可以从 1. select 2. radio 3. checkbox 字段中选择值。

每个选定的值都在输入参数的 value 部分附加了特定的美元金额。我已为数据库中的每个可能选择创建了项目,并希望在提交最终成本值之前验证该信息是否未使用浏览器代码编辑器进行编辑。

这是我在选择菜单中的一个选项的样子:

<option name="apartment"  value="600" id="4p4rtm3nt">Apartment Building</option>

我的数据库 (MySQL) 中有一个对象,其 valuenameid 均与此选项匹配。

在计算所有商品的成本时,验证此信息是否未更改的最有效/最安全的方法是什么?

<小时/>

个人想法

我正在考虑从 POST 中提取 id、名称和值,然后确保它们都与我的数据库中的对象匹配。这看起来既广泛又低效......

你们中的一些人是如何做到的?我尝试查看一些带有结帐页面的网站,但似乎无法弄清楚他们的操作方式。

P.S.我没有使用 Django 表单

最佳答案

仅使用id属性来识别客户端选择的值。使用 POST 对象中的 id,您可以简单地查找记录并根据这些结果计算成本。客户端无法通过浏览器编辑数据库中的值。

如果您确实关心性能影响(过早的优化是万恶之源),只需确保您的表在 id 上建立索引即可。 Django 已经为你做到了这一点。

关于python - 根据数据库正确验证 HTML POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43880770/

相关文章:

Mysql错误1036表是只读的

python - 在 py2neo 中添加标签不起作用

python - Pandas 合并添加列

javascript - 网页中的鼠标光标或键盘响应

javascript - 开发者工具查看一个脚本下载两次是否正常

javascript - 使用显示 : block 时无法获得动画的不透明度

mysql - 如何在 VB.net 中更快地查询和更新

MySQL 计数大小写返回错误计数

python - 使用相同的键、多个值追加到字典

python 使用嵌套列表检查列表