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

   在进行网络程序开发时,网络程序的安全对于程序开发者来说非常重要。在进行开发时,首先要考虑到程序的安全性,不会被其他用户以非法的形式进入或攻击。例如,本实例主要应用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("您输入的管理员 名称错误,请重新输入!");
                 </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
    %>

转载于:https://www.cnblogs.com/VividHome/archive/2009/06/15/1503627.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值