我有一个使用$ _POST变量存储到数据库的脚本。
有些用户试图通过制作自己的帖子表单方法或使用curl将post变量和值发送到服务器来欺骗系统。
如何防止此次攻击?
谢谢
答案 0 :(得分:4)
预防是不可能的(POST安全是一个过于简单化的神话)。您必须使用各种方法验证传入的数据:
$_POST->text->in_array("field", "abc,def,xyz")
例如答案 1 :(得分:0)
没有办法阻止人们发出任意HTTP请求。
你如何为自己辩护取决于请求的内容是什么以及它构成攻击的原因。
答案 2 :(得分:0)
您可以确保POST是通过验证码保护来自您的表单,或者您可以清理每个$ _POST变量并拒绝整个POST数据(如果它不符合标准)。
答案 3 :(得分:0)
POST请求不是100%安全的。这仅表示数据存储在HTTP(s)请求的正文中。对于GET请求,数据存储在URL中。鼓励使用POST请求发送敏感数据。
由于数据存储在POST请求的正文中,而不是URL中,因此您的敏感数据无法添加为书签。此外,如果未正确定义引荐来源标头,则还可以将URL中存储的敏感数据转移到恶意网站。
如果您使用的是HTTP协议而不是HTTPS协议,那么POST请求可能会被黑。攻击者所需要做的就是在中间攻击中执行一次操作(嗅探在客户端和服务器之间传输的数据包)。一旦捕获到数据包,攻击者便可以轻松查看存储在POST请求正文中的数据。
答案 4 :(得分:-1)
此攻击的名称为“SQL注入”。保护它并不太难。如果您的值是字符串,请使用magic_quotes,如果您的值是数字,则使用过滤器会跳过onlu数字。