• Web站点防注入注意事项


    1. 防止页面注入

    a) 限制所有页面输入框的输入格式、输入类型、输入长度以及输入字符。例如:禁止输入“‘”, ”;”等特殊字符,并限制输入数字的长度,对于输出的内容进行HtmlEncode格式化输出;

    b) 页面程序需要过滤所有post或get请求中的参数信息中非法字符,对所有的QueryString信息过滤,对于每一个QueryString[“name”]都要加上AntiXss.HtmlEncode(queryString[“name”]),对QueryString进行编码。

    注:AntiXSSLibrary.dll,是一个很好的过滤页面非法字符工具,它会将一些危险字符转换成安全的HTML编码内容。下载地址:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=f4cd231b-7e06-445b-bec7-343e5884e651

    用法:使用AntiXss.HtmlEncode(“要进行格式化输出输入的内容”) 方法格式化输入和输出的HTML内容;

    c) 做好网站的customError跳转页面。只要网站出现错误,则跳到404错误页面。可以避免别人根据你的错误提示,得到一些站点信息;

    d) 服务器管理员应对IIS站点设置相应执行权限,特别是对于一些用户可以上传的资源文件夹,更应该合理分配执行修改权限,并避免使用everyone帐号权限;

    e) 对于URL中出现一些特殊、危险的字符串,讲行提示并跳转到404页面。(如:Delete,update等这些特殊字符) ;

    f) 加密web站点webconfig里的连接数据库字符串,防止被非法用户获取webconfig内容,从而攻陷数据库。

    2. 防止SQL脚本注入

    a) 在程序编码过程中,应杜绝SQL拼接的方式去写SQL语句,而用参数化的方式或者存储过程;

    b) 权限限制,对数据库,存储过程等等进行权限限制。例如:对于一些只是查询,而不做其它操作的数据表,只给其查询的权限,这样更能杜绝一些通过非法SQL修改数据库表数据的操作。通过建两个数据库帐号进行读写分离的方式也是有效方法;

    c) 避免使用SA帐号,来连接数据库;

    d) 服务器应该过一段时间,就打一次补丁,及时修复系统和安全漏洞。

    3. 防止cookie伪造

    在网站中,应该尽量避免写入明文的用户名和密码。建议对Cookie进行加密或着二次加密码,防止恶意伪造cookie对网站进行跨站点脚本攻击,例如:.net特有的form验证,可以将用户登录票据进行加密然后放入客户端cookie中。
  • 相关阅读:
    ***25 k个一组反转链表
    24 交换链表中相连的节点
    19 删除链表倒数第N个节点
    2 两数相加
    23 合并K个有序链表
    21 合并两个有序链表
    114 判断一个链表是否存在环并返回环起点
    141 链表是否存在环
    160 寻找链表交点
    92 指定区间链表逆置
  • 原文地址:https://www.cnblogs.com/timy/p/2049742.html
Copyright © 2020-2023  润新知