$.ajax({ type: 'POST',url: 'http://localhost/comments/vote_down/' + post_id });
现在它仍然在localhost上,但最终会进入网络.如果有人只是制作某种类型的脚本会运行n次这个URL http:// localhost / comments / vote_down / post_id会怎么样?
甚至用户身份验证都不是很有用,您只需调整恶意脚本进行身份验证,然后再进行身份验证即可.如何使此请求更安全,我该怎么办?谢谢
编辑
我看到了一些答案,而不是我到目前为止一直在寻找的答案.
也许我期待太多,有没有办法我可以直接拒绝这个请求,除了有人从localhost(或website.com)重定向,x尝试之后.
也许某种头认证?我不是很了解这就是我问的主要原因.
编辑
也是我大约一分钟左右发现的事情,我正在浏览几个类似的问题而我的萤火虫已经开启了,我向收藏夹添加了一个问题..看到控制台发布回复200 OK然后我试了10次就好了看我什么时候会被拒绝再做同样的事情…最终我感到无聊..所以如果StackOverflow没有解决那个问题……我想做什么:=)
>如果用户未登录,请不要投票.
>如果用户已登录,则限制每个评论投票一票(他们是否可以将投票从上到下更改取决于您)
>如果您想让未注册的用户投票,请使用cookie和IP地址以及useragent检查将其锁定. (远非防弹,但会阻止一些麻烦制造者)
其他选项:
>实施验证码
为了回应您的编辑:
如果您正在讨论检查有效的推荐页面,那么您运气不佳.这非常容易被欺骗.您可以实现令牌检查,您可以在其中生成有效X秒的散列,并拒绝所有具有无效或过期散列的请求.这不会阻止人们多次投票.
回复您的第二次编辑:
状态代码200仅表示http请求成功,应用程序逻辑决定对请求执行的操作是完全不同的问题.您可以拒绝投票并返回200,就像您可以返回403(尽管在这种情况下可能更合适).