Java开发手册之安全规约

Java开发手册之安全规约Java开发手册之安全规约

大家好,又见面了,我是你们的朋友全栈君。

  1. 【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。
    说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容、修改他人的订单。
  2. 【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。
    说明:查看个人手机号码会显示成:158****9119,隐藏中间4位,防止隐私泄露。
  3. 【强制】用户输入的SQL参数严格使用参数绑定或者METADATA字段值限定,防止SQL注入,禁止字符串拼接SQL访问数据库。
  4. 【强制】用户请求传入的任何参数必须做有效性验证。
    说明:忽略参数校验可能导致:
    page size过大导致内存溢出
    恶意order by导致数据库慢查询
    任意重定向
    SQL注入
    反序列化注入
    正则输入源串拒绝服务ReDoS
    说明:Java 代码用正则来验证客户端的输入,有些正则写法验证普通用户输入没有问题,但是如果攻击人员使用的是特殊构造的字符串来验证,有可能导致死循环的结果。
  5. 【强制】禁止向HTML页面输出未经安全过滤或未正确转义的用户数据。
  6. 【强制】表单、AJAX提交必须执行CSRF安全过滤。
    说明CSRF(Cross-site request forgery)跨站请求伪造是一类常见编程漏洞。对于存在
    CSRF漏洞的应用/网站,攻击者可以事先构造好URL,只要受害者用户一访问,后台便在用户不知情情况下对数据库中用户参数进行相应修改。
  7. 【强制】在使用平台资源,譬如短信、邮件、电话、下单、支付,必须实现正确的防重放限制,如数量限制、疲劳度控制、验证码校验,避免被滥刷、资损。
    说明:如注册时发送验证码到手机,如果没有限制次数和频率,那么可以利用此功能骚扰到其它用户,并造成短信平台资源浪费。
  8. 【推荐】发贴、评论、发送即时消息等用户生成内容的场景必须实现防刷、文本内容违禁词过滤等风控策略。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106522.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月22日 下午11:20
下一篇 2022年4月22日 下午11:20


相关推荐

  • HibernateTemplate和HibernateDaoSupport

    HibernateTemplate和HibernateDaoSupportspring 提供访问数据库的有三种方式 nbsp nbsp HibernateDao nbsp nbsp HibernateTem 推荐使用 nbsp nbsp jdbcTemplate 我们一般不用 类所在包 HibernateTem org springframew orm hibernate3 HibernateTem

    2026年3月18日
    2
  • 扣子工作流最新实用功能更新

    扣子工作流最新实用功能更新

    2026年3月12日
    3
  • 代理服务器基本知识[通俗易懂]

    代理服务器基本知识[通俗易懂]代理服务器系列(一):基础知识2005年9月10日世界网络教研组编一、什么是代理服务器?代理服务器英文全称是ProxyServer,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,需送出Request信号来得到回答,然后对方再把信息以bit方

    2022年4月30日
    59
  • Mysql5.7版本中数据表字段可用的类型

    Mysql5.7版本中数据表字段可用的类型

    2022年2月17日
    44
  • 如何训练一个词向量

    如何训练一个词向量现在在NLP领域,词向量是一切自然语言处理的基础,有了词向量我们就可以进行数据分析,文本聚类分类的一系列操作了。接下来我们就开始学习如何训练词向量,之前我们有介绍关于word2vec的博文word2vec算法理解和数学推导,这篇博文我们就一起来学习如何实现词向量的训练。首先我们运用的语料是我之前爬取的京东小米9的好评,训练一个关于手机类的词向量。数据如下所示:首先我们需要给数据进行分词…

    2022年6月2日
    35
  • c# listView1写入第一行第一列

    c# listView1写入第一行第一列listview的用法:1:首先申明一个行对象ListViewItemlist=newListViewItem(“a”);2:为行对象添加子项list.subitems.add(“b”);list.subitems.add(“c”);3:把行对象加到ListView中去,listview1.items.add(list);综上所述就在listview中添加了一行,如果你想添加多行,可

    2022年7月12日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号