Gan*_*row 7 php security jquery post
我对像这个网站上的评论(类似的东西)进行了投票,我稍微担心可能的http请求被滥用.在向您展示可疑代码后,您会明白我的意思:
$.ajax({
type: 'POST',
url: 'http://localhost/comments/vote_down/' + post_id
});
Run Code Online (Sandbox Code Playgroud)
现在它仍然在localhost上,但最终会进入网络.如果有人只是让某种脚本的这will run n times
此网址http://localhost/comments/vote_down/post_id
.
甚至用户身份验证都不是很有用,您只需调整恶意脚本进行身份验证即可,您可以再次执行此操作.如何使此请求更安全,我该怎么办?谢谢
编辑
我看到了一些答案,而不是我到目前为止一直在寻找的答案.
也许我期待太多,有什么方法可以直接拒绝这个请求给任何人,但是在x尝试这样做之后,有人从localhost(或website.com)重定向.
也许某种头认证?我不是很了解这就是我问的主要原因.
编辑
也是我大约一分钟左右发现的事情,我正在浏览几个类似的问题,我的萤火虫已经开启了,我向收藏夹添加了一个问题..看到控制台发布回复200 OK
然后我试了10次就看到了什么时候我会被拒绝再做同样的事情...最终我感到无聊..所以如果StackOverflow没有解决那个问题......我想做什么:=)
至少,您可以确保每个用户只能投票一次.
其他选项:
为了回应您的编辑:
如果您正在讨论检查有效的推荐页面,那么您运气不佳.这非常容易被欺骗.您可以实现令牌检查,您可以在其中生成有效X秒的散列,并拒绝所有具有无效或过期散列的请求.这不会阻止人们多次投票.
为了回应您的第二次编辑:
状态代码200仅表示http请求成功,应用程序逻辑决定对请求执行的操作是完全不同的问题.您可以拒绝投票并返回200,就像您可以返回403(在这种情况下可能更合适).
归档时间: |
|
查看次数: |
730 次 |
最近记录: |