ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:17.08KB ,
资源ID:21492217      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21492217.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(安全编码规范Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

安全编码规范Word文档下载推荐.docx

1、批准人1 安全编码规范1.1 输入验证和数据合法性校验程序接受数据可能来源于未经验证的用户,网络连接和其他不受信任的来源,如果未对程序接受数据进行校验,则可能会引发安全问题。1.1.1 避免SQL注入使用PreparedStatement预编译SQL,解决SQL注入问题,传递给PreparedStatement对象的参数可以被强制进行类型转换,确保在插入或查询数据时与底层的数据库格式匹配。String sqlString = select * from db_user where username= and password=;PreparedStatement stmt = (sqlStri

2、ng);(1, username);(2, pwd);ResultSet rs = ();1.1.2 避免XML注入通过StringBulider 或 StringBuffer 拼接XML文件时,需对输入数据进行合法性校验。对数量quantity 进行合法性校验,控制只能传入0-9的数字:if (!(0-9+, quantity) .1.2 声明和初始化1.2.1 避免类初始化的相互依赖例:错误的写法:public class Cycle private final int balance; private static final Cycle c = new Cycle(); private

3、 static final int deposit = (int) () * 100); equals()方法,调用Object. equals()方法实际上是比较数组的引用,而不是他们的内容。程序必须使用两个参数()方法来比较两个数组的内容public void arrayEqualsExample() int arr1 = new int20;1、 Clone 方法抛出CloneNotSupportedException异常class SensitiveClass public final SensitiveClass clone() throws CloneNotSupportedExc

4、eption throw new CloneNotSupportedException(); 1.2.2 比较类的正确做法如果由同一个类装载器装载,它们具有相同的完全限定名称,则它们是两个相同的类。不正确写法:etName().equals( ) 正确写法:.1.2.3 不要硬编码敏感信息硬编码的敏感信息,如密码,服务器IP地址和加密密钥,可能会泄露给攻击者。敏感信息均必须存在在配置文件或数据库中。1.2.4 验证方法参数验证方法的参数,可确保操作方法的参数产生有效的结果。不验证方法的参数可能会导致不正确的计算,运行时异常,违反类的不变量,对象的状态不一致。对于跨信任边界接收参数的方法,必须进

5、行参数合法性校验private Object myState = null;nterrupt(); etCanonicalFile(); if (!().startsWith(c:homepath (Invalid file); return; catch (IOException x) try FileInputStream fis = new FileInputStream(file); catch (FileNotFoundException x) (1.2.5 不允许抛出RuntimeException, Exception,Throwable不正确的写法:boolean isCapi

6、talized(String s) if (s = null) throw new RuntimeException(Null Stringprivate void doSomething() throws Exception throw new NullPointerException();private void doSomething() throws IOException 1.2.6 不要捕获NullPointerException或其他父类异常boolean isName(String s) String names = ( if != 2) return false; retur

7、n (isCapitalized(names0) & isCapitalized(names1); catch (NullPointerException e) 正确的写法:boolean isName(String s) /* throws NullPointerException */ 1.3 多线程编程1.3.1 确保共享变量的可见性对于共享变量,要确保一个线程对它的改动对其他线程是可见的。线程可能会看到一个陈旧的共享变量的值。为了共享变量是最新的,可以将变量声明为volatile或同步读取和写入操作。将共享变量声明为volatile:final class ControlledStop

8、 implements Runnable private volatile boolean done = false; Override public void run() while (!done) ().sleep(1000); nterrupt(); catch (IOException ie) protected final Object writeObject out) throws NotSerializableException throw new NotSerializableException(); protected final Object readObject in)

9、throws NotSerializableException protected final Object readObjectNoData in) throws NotSerializableException 1.3.2 在序列化过程中避免内存和资源泄漏class SensorData implements Serializable . public static boolean isAvailable() .class SerializeSensorData public static void main(String args) throws IOException ObjectOutputStream out = null; out = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream(); while () / note that each SensorData object is 1 MB in size SensorData sd = (); (sd); finally if (out != null) (); / reset the stream1.3.3 反序列化要在程序最小权限的安全环境中

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1