欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
记录群辉NAS添加新硬盘的操作步骤 群辉NAS套件中心和docker注册表无法访问的解决方法
晴天  Web开发中建议遵循的一些安全准则Security Checklist
[ 发布日期:11个月前 (12-24) ]   [ 来自:本站原创 ] [分类:其它运维与编程]
标有 (*) 的检查项目表示该项是针对相关问题的根本解决方法,应当尽最大努力去完成这些内容。 
未标 (*) 的项目,表示该项并不能完全消除安全隐患,只是说通过这种方法可以避免发生安全问题。

SQL注入


  • (*) 在组合SQL语句时要使用SQL变量绑定功能
  • (*) 如果数据库不提供变量绑定,那么需要对构成SQL的所有变量进行转义
  • 不要将错误信息原封不动地显示在浏览器中。
  • 为访问数据库的用户设置适当的权限。


操作系统命令行注入

  • (*) 避免使用能启动shell命令的语言
  • 使用的语言如果允许启动shell命令,则需要对该功能的参数种的所有变量进行检查,确保只包含合法的操作
  • 不检查路径名参数/目录遍历
  • (*) 不要将外部传进来的参数直接作为文件名来使用
  • (*) 将打开文件的操作限制在固定的目录中,并禁止文件名中包含路径
  • 为Web服务器上的文件设置正确的访问权限
  • 检查文件名。


会话管理的问题

  • (*) 用难以推测的内容作为会话ID
  • (*) 不要在URL中保存会话ID
  • (*) 为https协议中使用的cookie设置secure属性
  • (*) 登录成功后生成新的会话
  • (*) 登录成功后,在会话ID之外再生成一个秘密信息,每次访问页面时都检查之
  • 不使用固定值作为会话ID
  • 将会话ID保存到Cookie中时,要设置有效期限


跨站脚本攻击(XSS)

  • 不允许输入HTML内容时的解决方法
  • (*) 输出到页面上的所有内容都要转义
  • (*) 输出URL时仅允许以“http://”或“https://”开头的URL
  • (*) 不要动态生成<script>…</script>的内容
  • (*) 不要从外部网站读入样式表
  • 检查输入内容


允许输入HTML内容时的解决方法

  • (*) 解析输入的HTML内容,生成解析树,然后提取其中的非脚本部分
  • 使用脚本删除输入的HTML内容中的相关字符串


通用解决方法

  • (*) 应答的HTTP头重指定Content-Type的charset属性
  • 为避免Cookie情报泄漏,应禁止Trace方法,并对所有Cookie设置HttpOnly属性


跨站请求伪造(CSRF)

  • (*) 所有页面都通过POST来访问,在前一页面的hidden中随机生成一个信息,提交后的页面检查该信息,正确时才予以执行
  • (*) 执行业务之前再次要求输入密码
  • (*) 确认Referer是否正确,只有正确时才执行
  • 执行重要操作时,向预先设置的邮件地址中发送邮件


HTTP头注入

  • (*) 不直接输出HTTP头,而使用运行环境提供的头信息输出API
  • (*) 无法使用API时,要禁止输入的头信息中的换行
  • 删除所有外部输入中的换行
  • 邮件盗用(通过某种手段使邮件发送到攻击者指定的地址)
  • (*) 不使用外部参数作为邮件头信息
  • 必须用外部参数设置头信息时,要删除其中的危险字符。


引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/320
复制引用地址https://www.rickw.cn/trackback/320/GBK
[ 分类:其它运维与编程  | 查看:897 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5