我想知道我可以为表单添加更多安全性的方法,以便我可以防止攻击。从过去几天在网上搜索,以及我可以采用的方法,我已经找到了许多解决方案,我希望在继续之前了解你的解决方案。
包含表单键以阻止XSS(跨站点脚本)和跨站点请求伪造总是好的吗?
处理表单数据的最佳方法是:
哪种方式可以过滤或清理表单数据?
谢谢
答案 0 :(得分:2)
这是我的常规设置。我基本上使用自定义框架。
我设置了处理特定数据的模型。例如,如果我有一个创建新员工的员工表单。我有一个员工模特。该模型具有指定的值,以便在数据库中生成新员工。如果此模型中缺少任何值,当我尝试保存它时,它将引发异常。这是我的第二层“输入验证”。第一层是一个简单的java脚本表单验证器,以确保不丢失任何值。
现在,对于页面的任何类型的输入(GET,POST),我有一个处理这些卫生的类。它迭代所有$ _POST和$ _GET值并清理它们(mysql_real_escape_string,php中的stripslashes)。
现在在html中设置我的表单数据.. php可以处理表单数据“数组”,我的意思是如果我有一个名为“employee [name]”的表单输入并且我提交该表单,php将识别该表单提交为$ _POST ['employee'] ['name'] ..我知道的非常了不起。现在,每个表单都有自己的指定字段,这些字段是模型所必需的。我只需调用我的模型,将模型数据设置为$ inputClass-> post('employee')(这是一个数组)并保存数据。
我更喜欢这种通用方法。它安装快速简便,安全可靠。
编辑:此外,像Ajax和Javascript这样的东西是奢侈品。您不需要这些来处理表单,它们只是为用户增添了便利。例如,在启用了javascript之前,您可以在不重新加载页面的情况下验证表单。但请注意,您应该始终通过php验证您的表单。答案 1 :(得分:0)
它使用引荐来检查和一个不引人注目的javascript catcha,以防止垃圾邮件提交表单。