后台判断post来源的合法性有几种方案啊?

设计手 2020-05-10 01:05:53

目前知道的方案,SESSION保存一串数字,这个貌似是最有效,但是假如上千人同时访问SESSION压力有点大啊


还有一种,$_SERVER["HTTP_REFERER"] 也不安全



还有没有更好的方案了?
...全文
279 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
进击的架构狮 2020-05-16
  • 打赏
  • 举报
回复
jwt了解一下!
设计手 2020-05-16
  • 打赏
  • 举报
回复
用HTTP_ORIGIN 判断行不行?

测试了几个浏览器 火狐 谷歌都是支持的,IE不支持
绿涩夜行者 2020-05-15
  • 打赏
  • 举报
回复
你觉得SESSION的压力大的话,可以把SESSION存到redis里啊,redis有自动过期,非常符合session的机制。而且redis的key容量非常大。
设计手 2020-05-14
  • 打赏
  • 举报
回复
引用 6 楼 qq_39047451 的回复:
post来源,你想干嘛?判断是否是人为还是爬虫请求?


判断是不是自己系统内提交的POST
禁止curl爬虫
qq_39047451 2020-05-13
  • 打赏
  • 举报
回复
post来源,你想干嘛?判断是否是人为还是爬虫请求?
设计手 2020-05-11
  • 打赏
  • 举报
回复
请教还有没有其他方案解决

求支招
设计手 2020-05-10
  • 打赏
  • 举报
回复
引用 2 楼 下雨的声音丶 的回复:
你这个属于 csrf漏洞 方案,网上搜一下很多解决方案,最好的还是加token ,至于你说的访问人多了session压力大, 访问人多了你系统还在用文件保存session吗?可以吧session存在redis 或者 mysql 都可以的


谢谢哈,我查查资料,感谢感谢
设计手 2020-05-10
  • 打赏
  • 举报
回复
引用 1 楼 于小九 的回复:
可以考虑看看数据验签,请求的数据带上特殊算法的sign签名串,后端收数据的时候进行一下验签操作合法放行就可以。


这个属于前台加密后台解密吧?
openssl_encrypt扩展能做,但是前台加密出来的东西总归是明码,抓取一下加密后的内容,传给后台和人工操作一样的

我用openssl_encrypt加密一个日期,然后隐藏域发给后台,后台解密后判断一下这个日期有没有超过指定范围
但是CURL模拟 打开页面获取到隐藏域的内容,然后CURL再传后台一样是放行的,因为CURL拿的东西就是页面本身产生的
下雨的声音丶 2020-05-10
  • 打赏
  • 举报
回复
你这个属于 csrf漏洞 方案,网上搜一下很多解决方案,最好的还是加token ,至于你说的访问人多了session压力大, 访问人多了你系统还在用文件保存session吗?可以吧session存在redis 或者 mysql 都可以的
于小九 2020-05-10
  • 打赏
  • 举报
回复
可以考虑看看数据验签,请求的数据带上特殊算法的sign签名串,后端收数据的时候进行一下验签操作合法放行就可以。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧