我正在开发Zend的网站。 有些人创建了一个模仿我登录视图的html文件。表单中的操作指向我的控制器提交。 我没有从我的网站登陆其他网站。那么如何防止其他域名提交给我的控制器呢? 我试图获取请求主机名“请求者页面”以将他们的域名与我的域名进行比较,如果用户从其他站点登录则返回错误。
答案 0 :(得分:2)
检查ZF手册中的CSRF保护,这是解决此问题的标准内置方法。
答案 1 :(得分:1)
您可以检查refferer是否在您的域中(或为空)
添加隐藏的输入字段,并在每个显示器上生成令牌。如果令牌错误,请不要继续并将其重定向到您的登录页面。 确保每个令牌只能由一个用户(相同的会话/ IP)使用一次,并且仅用于例如1小时
编辑:见https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet
答案 2 :(得分:1)
最简单的方法是防止旁边用户登录您的网站
您可以使用以下链接作为参考在登录页面中使用
http://mnshankar.wordpress.com/2010/06/01/zend-form-element-captcha/