如何检查来自同一服务器还是不同服务器的请求?

如何检查来自同一服务器还是不同服务器的请求?,第1张

如何检查来自同一服务器还是不同服务器的请求?

基本上:您不能。
使用HTTP协议,每个请求彼此独立。

第一个想法是检查Referer HTTP标头,但请注意:

  • 可以伪造 (由浏览器发送)
  • 它并不总是存在。

因此:不是一个可靠的解决方案。

一种可能的方法(比Referer的想法好得多)是使用
nonce

  • 显示表单时,在其中添加一个隐藏的输入字段,其中包含一个随机值
  • 同时,将该随机值存储到与用户相对应的会话中。
  • 提交表单后,请检查隐藏字段的值是否与会话中存储的值相同。

如果这两个值不相同,请拒绝使用提交的数据。

注意:此想法通常用于帮助对抗 CSRF 并集成在某些框架的“表单”组件中 ( 例如Zend
framework



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4911070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存