Replace()函数替换字符串中的危险字符

资讯 驱动中国 若水 760 次阅读 0 条评论
分享 Q

   在进行网络程序开发时,网络程序的安全对于程序开发者来说非常重要。在进行开发时,首先要考虑到程序的安全性,不会被其他用户以非法的形式进入或攻击。例如,本实例主要应用Replace()函数替换字符串中的危险字符。该函数的语法格式如下:
    Replace(expression,find,replacewith[,compare[,count[,start]]])

    参数说明
     expression:必选。字符串表达式包含要替代的子字符串。
    find:必选。被搜索的子字符串。
    replacewith:必选。用于替换的子字符串。 
    start:可选。expression中开始搜索子字符串的位置。如果省略,默认值为1。
    count:可选。执行子字符串替换的数目。
    compare:可选。指示在计算子字符串时使用的比较类型的数值。 
    运行结果如图6.12所示。


图6.12  应用Replace()函数替换字符串中的危险字符

    (1)定义Replace()函数,用于替换字符串中的危险字符。代码如下:
    <%
    function filter_Str(InString)
         NewStr=Replace(InString,"'","''")
         NewStr=Replace(NewStr,"<","&lt")
         NewStr=Replace(NewStr,">","&gt")
         NewStr=Replace(NewStr,"chr(60)","&lt;")
         NewStr=Replace(NewStr,"chr(37)","&gt;")
         NewStr=Replace(NewStr,"""","&quot")
         NewStr=Replace(NewStr,";",";;")
         NewStr=Replace(NewStr,"--","-")
         NewStr=Replace(NewStr,"/*"," ")
         NewStr=Replace(NewStr,"%"," ")
         filter_Str=NewStr
    end function
    %>

    (2)在需要进行字符替换的位置应用filter_Str()函数。代码如下:
    <!-- #include file="filter.asp" -->
    <% session.Timeout=120
    if request.Form("UserName")<>"" and request.Form("PWD")<>"" then
         session("UserName")=filter_Str(request.Form("UserName"))
         session("PWD")=filter_Str(request.Form("PWD"))
         sql="select name,password from Tab_user where Name='"&session("UserName")&"'"
         set rs=conn.execute(sql)
         if  rs.eof then %>
               <script language="javascript">
               alert("您输入的管理员#p#分页标题#e#名称错误,请重新输入!");
                 </script>
                 <%session.Abandon()  '删除所有存在Session对象中的对象
         else
            if rs("password")=session("PWD") then
                session("flag")="登录" %>
                <script language="javascript">
                alert("登录成功!!")
                window.location.href="index.asp"
                </script>
           <%else%>
                          <script language="javascript">
                          alert("您输入的管理员密码错误,请重新输入!");
                           history.back();
                           </script>             
                         <%session.Abandon()
                 end if
         end if
    end if
    %>

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友