繁体   English   中英

如何提高表格安全性

[英]How to improve form security

我网站上的许多表格都是这样完成的:

<form action="filename.php?id=10">

但是我刚刚意识到用户可以在操作中编辑此变量(id)。 这将是重大的安全漏洞。 我该如何预防呢? 或者是通过变量的更好方法。

将隐藏的输入工作吗?

<input type="text" hidden value="1" name="id">

传递变量的更好方法是什么? 或者用户无法更改值的方式。

无法使用HTML或任何其他客户端标记/脚本语言保护表单的安全。 这里的关键词是客户端。 用户可以操纵客户端的任何内容(HTML,CSS,Javascript)。 没有办法保护客户端的数据。 但是,那的确让您留在服务器端。

只有在服务器端才能确保安全性。 您将数据发送到服务器进行处理。 您可以使用PHP,nodeJS,Ruby或任何您想要验证的信息。 本教程为您提供了使用PHP(服务器端编程语言)进行验证的入门指南。

对于您的特定情况,您需要编写一些PHP代码,说明ID无效(但是您选择确定ID无效),然后向用户抛出错误,并且不接受输入。 如果您可以学习正确使用PHP和其他服务器端编程语言,则它们是很棒的。

无法使通用表单更安全。 当您处理用户数据时,安全性部分就会出现。

实际上,从技术上讲,有两种方法,至少可以减缓蛮力攻击。

那就是存储用户第一次看到的会话。 如果您发现相同的IP保持打开状态,则可以将其阻止一段时间。 这将需要一个数据库表和一些其他代码。 在大多数情况下,这将是过大的杀伤力。

表单本身在用户浏览器中后,可以由用户自由修改。 您绝对无能为力。 为了保护它,在处理该表单的服务器端代码中的逻辑需要进行相关的安全性检查,检查登录的用户是否实际上被允许使用其提交的表单数据表示正在尝试使用的对象。 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM