我继承了一些最近被重复远程表单提交攻击的代码.
最初,我通过设置唯一的会话身份验证令牌(而不是会话ID)来实现一些保护.虽然我意识到这个特定的攻击不是CSRF,但我从这些帖子中调整了我的解决方案(尽管已过时).
我还阅读了有关SO的现有帖子,例如实用的非基于图像的CAPTCHA方法?
但是,攻击者现在首先请求表单页面,启动有效会话,然后在以下POST请求中传递会话cookie.因此拥有有效的会话令牌.所以我失败了.
我需要采取一些额外的预防措施.如果可能的话,我想避免使用CAPTCHA(糟糕的用户体验)和JavaScript解决方案.我还考虑过引用者检查(可以伪造),蜜罐(隐藏字段),以及速率限制(可以通过限制来克服).这个攻击者是持久的.
话虽如此,那将是一个更强大的解决方案.
我在我掌握的网站上有一个论坛,每天都会收到垃圾邮件.目前我删除垃圾邮件并阻止IP.但这并不是很好.被阻止的IP列表正在快速增长,但论坛中的垃圾邮件数量也在增长.
该论坛完全是我自己的代码.它内置于PHP和MySQL中.
什么是阻止垃圾邮件的具体方法?
编辑 我忘记提到的事情是论坛需要对未注册用户开放发布.有点像博客评论.
我为我的本地图书馆做了网页,我认为根据书籍封面有一个"自定义"验证码可能很有吸引力.因此,提供几十本书的封面之一,让赞助人填写表格类型的书名,以证明他们是人.假设我从图像和文件名中删除了标题/作者信息,那就足够了吗?它是一个相当小的网站上的独特系统,这足以使其有效吗?这些天垃圾邮件机器人有多棘手?将图像名称设为ISBN#会非常明显吗?
这是一个示例封面:
如何防止使用XSSME,SQLinjectMe(这两个是免费的Firefox附加组件),Accunetix Web扫描仪等大型漏洞扫描程序扫描表单?
这些"Web漏洞扫描程序"可以捕获表单及其所有字段的副本,并在几分钟内发送数千个测试,在字段中引入所有类型的恶意字符串.
即使您对输入进行了非常好的清理,服务器中也存在速度响应延迟,有时如果表单发送电子邮件,您将在接收方邮箱中收到数千封电子邮件.我知道减少此问题的一种方法是使用CAPTCHA组件,但有时这种组件对于某些类型的表单来说太多而且会延迟用户响应(例如登录/密码表单).
有什么建议吗?
提前致谢,对不起我的英语!
我正在考虑为Ruby on Rails构建一个登录系统,就像这个一样
http://visionmasterdesigns.com/tutorial-create-a-login-system-in-ruby-on-rails/
在安全性方面,如果用户的用户名错误,我是否应该限制用户登录的尝试?
此外,登录的基本步骤似乎是:
还有什么我应该考虑的吗?
我有一个分类广告网站......
每个分类都显示在名为show_ad.php的php页面中
我正在开发一个" 提示朋友 "功能,用户输入自己的姓名,朋友发送电子邮件,并向朋友发送短信.
以上是没有问题的,但是,我需要确保机器人不会将此表用于"垃圾邮件"等...
一种方法是验证码,但我正在考虑创建自己的验证码,所以这是我的计划,我需要你告诉我它是否有任何缺陷:
1-在加载show_ad.php文件时,我生成一个随机数,比如5位数.
2- I将数字输出给用户,并告诉用户在表单文本输入中输入该数字.
3-数字也被放入隐藏的输入中.
4-用户按"发送"按钮.
5-我使用ajax调用一个名为send_tip.php的php文件,然后获取隐藏输入的值,并将其与用户输入的文本输入进行比较,看看它们是否匹配,然后发送电子邮件.
没有什么是足够安全的,但对于分类广告网站来说,这是否足够?
谢谢
更新:
6-我向mysql添加一个表,它记录发送电子邮件的用户的IP地址,如果它超过每分钟3封电子邮件和每天30封电子邮件,我就停止它们......虽然这可能只是电子邮件是够了,我应该跳过随机数的第一步?你怎么看?
security ×4
php ×3
captcha ×2
ajax ×1
forum ×1
javascript ×1
login ×1
mysql ×1
post ×1
validation ×1