| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • ADSL断流/断线问题集中分析

  • 网络新威胁 无线局域网入侵检…

  • 让Web服务器不再拒认ASP网页

  • 入侵NTserver典型途径攻击基…

  • 内网通信安全的九项技术措施

  • 网际网络安全技术分析和对策

  • 入侵灰色轨迹论坛

  • 网页内容浏览任意伸缩大法

  • 局域网中构建入侵检测系统

  • 未雨绸缪一校园网隐患分析

  • Q
    您现在的位置: 我是IT人 >> 网络组建 >> 服务器 >> WEB服务器 >> 文章正文
    Web恶意内容入侵分析及应对措施之四           
    Web恶意内容入侵分析及应对措施之四
    作者:网络 文章来源:转载 点击数: 更新时间:2006-1-6
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
    第四步:过滤动态输出内容中的特殊字符

      在实际应用中,判断哪些字符或者字符组合可能导致攻击是不明确的。因此,直接选择安全的字符集要比排除不信任的字符集更方便。例如,如果用户需要在一个表单项中填写他的年龄,开发者就可以直接地限定这个表单项的取值为数字0到9的组合,而不需要再接受其他字符。这样处理后,将大大地降低未知攻击的可能性。

      过滤处理可以作为数据输入的一部分、数据输出的一部分或者两者兼而有之。当作为数据输出的一部分时,建议在数据呈现给用户前对之进行过滤处理。如果处理正确,就可以确保所有的动态内容被过滤成为纯净的东西。

      下面分别列出用C++、JavaScript以及Perl语言编写的过滤代码,你可以根据实际情况选择其中一种:

    C++


    BYTE IsBadChar[] = {
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0xFF,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00
    };

    DWORD FilterBuffer(BYTE * pString,DWORD cChLen){
    BYTE * PBad = pString;
    BYTE * pGood = pString;
    DWORD i=0

    [1] [2] 下一页  

    文章录入:54iter    责任编辑:54iter 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |