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

news/2024/7/2 22:32:07
   在进行网络程序开发时,网络程序的安全对于程序开发者来说非常重要。在进行开发时,首先要考虑到程序的安全性,不会被其他用户以非法的形式进入或攻击。例如,本实例主要应用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


http://www.niftyadmin.cn/n/3297898.html

相关文章

题解 UVA118 【Mutant Flatworld Explorers】

很有趣的一道题&#xff0c;建议先自己写写 具体思路&#xff1a;模拟 只要模拟每次机器人的坐标就好了 难点 如何表示方向&#xff1f; 只要将北东南西依此赋值0&#xff0c;1&#xff0c;2&#xff0c;3 左转该值-1&#xff0c;右转该值1如何行进&#xff1f; 每个方向坐标变…

周四。。

昨晚睡了个好觉&#xff0c;虽然做了很多梦。。哈哈 今天上午看了unix的一点shell程序&#xff0c;这个东西看一遍不行我发现。很多符号我不知道什么意思&#xff0c;应该是多用用就熟悉了&#xff0c;嗯。unix脚本里很多都是组合命令&#xff0c;&#xff0c;要分开看。。转载…

redis3.0.0 集群安装详细步骤

Redis集群部署文档(centos6系统) &#xff08;要让集群正常工作至少需要3个主节点&#xff0c;在这里我们要创建6个redis节点&#xff0c;其中三个为主节点&#xff0c;三个为从节点&#xff0c;对应的redis节点的ip和端口对应关系如下&#xff09; 127.0.0.1:7000 127.0.0.1:7…

如何为自定义属性提供下拉选项

上一篇我们讲解到如何为自定义属性提供一个特殊的编辑器。我们的编辑器是一个对话框窗体&#xff0c;点击之后会用Dialog的方式显示。这种情况比较适合于属性比较复杂的情况。 对于某些比较简单的属性&#xff0c;我们可能不希望弹出对话框&#xff0c;而是直接选择。例如下面这…

reids jedis事务处理

当前使用的redis版本 ?12#redis-cli -vredis-cli 2.6.4 MULTI 、EXEC 、DISCARD 和WATCH 是 Redis 事务的基础 1.MULTI 命令用于开启一个事务&#xff0c;它总是返回 OK 。 MULTI 执行之后&#xff0c;客户端可以继续向服务器发送任意多条命令&#xff0c;这些命令不会立即被…

题解 P1111 【修复公路】

题意翻译&#xff1a; 求该图已联通时所用最小时间。 做法&#xff1a; 最小生成树 Krusal算法 先把所有边按修复时间从大到小排序&#xff0c;再每次取出权值最小的边&#xff0c;如果它的两个端点$u,v$已经联通了就跳过&#xff0c;否则就把这条边加入图中&#xff0c;并且把…

linux下的压缩解压缩

Linux下最常用的打包程序就是tar了&#xff0c;使用tar程序打出来的包我们常称为tar包&#xff0c;tar包文件的命令通常都是以.tar结尾的。生成tar包后&#xff0c;就可以用其它的程序来进行压缩了&#xff0c;所以首先就来讲讲tar命令的基本用法&#xff1a; tar命令的选项有很…

Elasticsearch 并发修改乐观锁

来自&#xff1a; http://blog.csdn.net//jiao_fuyou/article/details/50482117 版本控制的一个例子 ?123456789101112131415161718192021curl -XPOST http://localhost:9200/test/test/1 -d {"msg": "test"} {"_index": "test", &qu…