博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站编程安全之更改文章时注意事项
阅读量:6239 次
发布时间:2019-06-22

本文共 650 字,大约阅读时间需要 2 分钟。

一:更改文章时,不要信赖任何用户提交的数据

      用户会可能通过html代码修改更改文章的id号,来修改其他文章,如果没有对上传过来的文章id检验而直接利用获得的id来更改的话,很可能会出现一个用户把另外一个用户的文章给修改了。

      解决办法:

      对用户提交的文章id,进行验证,看是否是该用户的文章,如果是才有修改的权限,如果没有,则返回错误。(具体可以利用session存储用户登录的id,然后通过匹配是否能找到对应的记录,如果可以,说明是本人的文章,如果不是返回错误)

以新浪博客为例:

1、新浪博客文章的blog_id是加密过的字符串: 这里是的blog_id是:6a23a4c20101fi2l

2、编辑文章,html代码显示为:

 

3、验证方法:

    1》随便修改blog_id的值为一篇不存在的文章(添加几个字母即可),提交的时候会显示:

     

   2》修改blog_id为别人文章的blog_id,如 644fc7230101e2yt,点提交时显示:

   3》更改该blog_id为自己的另外一篇文章的blog_id号,点提交成功保存,结果另一篇文章被该篇文章覆盖了。

 

   结论:

   新浪博客修改文章时判断思路为:

   判断提交的blog_id:

   如果存在并且和当前用户匹配,则更新提交的blog_id对应的文章,这里面不会判断是否更改的是编辑前的那篇文章,(不过一般谁会没事改自己的文章了)

   如果存在但是和当前用户的id不匹配,则提示非法修改(这里新浪用了一个友好的提示来掩盖)

   如果blog_id不存在,则提示改文件不存在

 

 

转载地址:http://aabia.baihongyu.com/

你可能感兴趣的文章
neo4j CQL语句
查看>>
使用 mklink把apple 备份文件从c盘转移到D盘
查看>>
构造函数
查看>>
OSPF的网络类型
查看>>
raid0 raid1 raid5 三种工作模式的工作原理及特点
查看>>
Tomcat性能调优方案
查看>>
ubuntu下安装windows下的字体
查看>>
Kubernetes ReplicationController源码分析
查看>>
八大排序算法
查看>>
北京最新小学名校排名,绝对经典!
查看>>
解决js获取innerHTML无法获取value的问题
查看>>
$(this)
查看>>
cacti 安装配置 错误处理
查看>>
strong,retain,weak,assign自匹配宏
查看>>
烂泥:wiki系统confluence5.6.6安装、中文、破解及迁移
查看>>
BOM展开2
查看>>
Shell基础- 变量、判断、循环
查看>>
九月,我让她别搭理我
查看>>
Oracle 学习之性能优化(八)优化器
查看>>
修改ssh和ssl版本号 升级openssl
查看>>