电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

安全编码规范VIP免费

安全编码规范_第1页
1/10
安全编码规范_第2页
2/10
安全编码规范_第3页
3/10
安全编码规范版本号:修订页编早节名称修订内容简述修订日期修订前版本号修订后版本号修订批准人1目的错误!未定义书签。2背景错误!未定义书签3安全编码规范错误!未定义书签输入验证和数据合法性校验错误!未定义书签避免SQL注入错误!未定义书签避免XML注入错误!未定义书签避免跨站点脚本(XSS)错误!未定义书签。声明和初始化错误!未定义书签避免类初始化的相互依赖错误!未定义书签表达式错误!未定义书签不可忽略方法的返回值错误!未定义书签不要引用空指针错误!未定义书签使用()来比较数组的内容错误!未定义书签数字类型和操作错误!未定义书签防止整数溢出错误!未定义书签避免除法和取模运算分母为零错误!未定义书签类和方法操作错误!未定义书签数据成员声明为私有,提供可访问的包装方法错误!未定义书签敏感类不允许复制错误!未定义书签比较类的正确做法错误!未定义书签不要硬编码敏感信息错误!未定义书签验证方法参数错误!未定义书签不要使用过时、陈旧或低效的方法错误!未定义书签数组引用问题错误!未定义书签不要产生内存泄露错误!未定义书签异常处理错误!未定义书签不要忽略捕获的异常错误!未定义书签不允许暴露异常的敏感信息错误!未定义书签不允许抛出RuntimeException,Exception,Throwable错误!未定义书签不要捕获NullPointerException或其他父类异常错误!未定义书签多线程编程错误!未定义书签确保共享变量的可见性错误!未定义书签确保共享变量的操作是原子的错误!未定义书签不要调用(),不要使用()以终止线程错误!未定义书签确保执行阻塞操作的线程可以终止错误!未定义书签相互依存的任务不要在一个有限的线程池执行错误!未定义书签输入输出错误!未定义书签程序终止前删除临时文件错误!未定义书签检测和处理文件相关的错误错误!未定义书签。及时释放资源错误!未定义书签。序列化错误!未定义书签不要序列化未加密的敏感数据错误!未定义书签在序列化过程中避免内存和资源泄漏错误!未定义书签反序列化要在程序最小权限的安全环境中错误!未定义书签。1安全编码规范1.1输入验证和数据合法性校验程序接受数据可能来源于未经验证的用户,网络连接和其他不受信任的来源,如果未对程序接受数据进行校验,则可能会引发安全问题。1.1.1避免SQL注入使用PreparedStatement预编译SQL,解决SQL注入问题,传递给PreparedStatement对象的参数可以被强制进行类型转换,确保在插入或查询数据时与底层的数据库格式匹配。StringsqlString="select*fromdb_userwhereusername=andpassword=";PreparedStatementstmt=(sqlString);(1,username);(2,pwd);ResultSetrs=();1.1.2避免XML注入通过StringBulider或StringBuffer拼接XML文件时,需对输入数据进行合法性校验。对数量quantity进行合法性校验,控制只能传入0-9的数字:if(!("[0-9]+",quantity)){}1.2声明和初始化1.2.1避免类初始化的相互依赖例:错误的写法:publicclassCycle{privatefinalintbalance;privatestaticfinalCyclec=newCycle();privatestaticfinalintdeposit=(int)()*100);equals()方法,调用Object.equals()方法实际上是比较数组的引用,而不是他们的内容。程序必须使用两个参数()方法来比较两个数组的内容publicvoidarrayEqualsExample(){int[]arr1=newint[20];.}1、Clone方法抛出CloneNotSupportedException异常classSensitiveClass{publicfinalSensitiveClassclone()throwsCloneNotSupportedException{thrownewCloneNotSupportedException();}}1.2.2比较类的正确做法如果由同一个类装载器装载,它们具有相同的完全限定名称,则它们是两个相同的类。不正确写法:etName().equals("")){}正确写法:}1.2.3不要硬编码敏感信息硬编码的敏感信息,如密码,服务器IP地址和加密密钥,可能会泄露给攻击者。敏感信息均必须存在在配置文件或数据库中。1.2.4验证方法参数验证方法的参数,可确保操作方法的参数产生有效的结果。不验证方法的参数可能会导致不正确的计算,运行时异常,违反类的不变量,对象的状态不一致。对于跨信任边界接收参数的方法,必须进行参数合法性校验privateObjectmyState=null;nterrupt();etCanonicalFile();i...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

安全编码规范

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部