zoukankan      html  css  js  c++  java
  • 网站编程安全之更改文章时注意事项

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

          用户会可能通过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不存在,则提示改文件不存在

  • 相关阅读:
    中缀表达式求值
    520的信心赛——点点玩deeeep
    520的信心赛——麓麓学数学
    l洛谷 (水题)P4144 大河的序列
    洛谷 P3391 【模板】文艺平衡树(Splay)
    在洛谷3369 Treap模板题 中发现的Splay详解
    洛谷 P1344 [USACO4.4]追查坏牛奶Pollutant Control
    洛谷 P1678 烦恼的高考志愿
    洛谷 P2421 A-B数对(增强版)
    P3381 【模板】最小费用最大流
  • 原文地址:https://www.cnblogs.com/Alight/p/3313139.html
Copyright © 2011-2022 走看看