收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 1720|回复: 2

[ASP]发个我自己的字符检查和字符获取函数

[复制链接]
发表于 2005-6-22 11:15:00 | 显示全部楼层 |阅读模式


  1. '字符检查
  2. function CheckStrRight(strName,strMore)
  3.         dim str,stra,cstrd,cstrs,i,j,k,la,lb,ca,cb
  4.         cstrd="~!@#$%^&*()_+| `-=\<>/,.;:'""?[]{}"
  5.         cstrs="union,join,select,update,delete,alter,drop,create"
  6.         str=trim(strName)
  7.         stra=trim(strMore)
  8.         if stra<>"" then cstrs=cstrs&","&stra
  9.         if str="" then CheckStrRight=False : exit function
  10.         la=len(str)
  11.         lb=len(cstrd)
  12.         for i=1 to la
  13.                 ca=mid(str,i,1)
  14.                 for j=1 to lb
  15.                         cb=mid(cstrd,j,1)
  16.                         if ca=cb then
  17.                                 CheckStrRight=False
  18.                                 exit function
  19.                         end if
  20.                 next
  21.         next
  22.         Chk_badword=split(cstrs,",")
  23.         for k=0 to ubound(Chk_badword)-1
  24.                 if Instr(LCase(str),Chk_badword(k))<>0 then
  25.                         CheckStrRight=False
  26.                         exit function
  27.                 end If
  28.         next
  29.         CheckStrRight=True
  30. end function
复制代码

该字符检查可以附带自己需要检测的字符。
检测变量是否合法。可以用于防止用户提交带敏感字符的地方。



  1. '获取超安全字符
  2. function safeRequest(ParaName,ParaType)
  3.         Dim ParaValue
  4.         ParaValue=Trim(Request(ParaName))
  5.         if ParaType=1 then
  6.                 If not isNumeric(ParaValue) then
  7.                         safeRequest=False
  8.                         Exit Function
  9.                 End if
  10.         elseif ParaType=2 then
  11.                         ParaValue=Replace(ParaValue, CHR(39), "&#39;")
  12.                         ParaValue=Replace(ParaValue, "'", "&#39;")
  13.         else
  14.                 if not isnull(ParaValue) then
  15.                         ParaValue = replace(ParaValue, "'", "")
  16.                         ParaValue = replace(ParaValue, " ", "")
  17.                         ParaValue = replace(ParaValue, """", "")
  18.                         ParaValue = replace(ParaValue, "&", "")
  19.                         ParaValue = replace(ParaValue, "@", "")
  20.                         ParaValue = replace(ParaValue, "%", "")
  21.                         ParaValue = replace(ParaValue, "*", "")
  22.                         ParaValue = replace(ParaValue, "#", "")
  23.                         ParaValue = replace(ParaValue, "?", "")
  24.                         ParaValue = replace(ParaValue, "$", "")
  25.                         ParaValue = replace(ParaValue, ",", "")
  26.                         ParaValue = replace(ParaValue, ":", "")
  27.                         ParaValue = replace(ParaValue, ";", "")
  28.                         ParaValue = replace(ParaValue, ".", "")
  29.                         ParaValue = replace(ParaValue, "^", "")
  30.                         ParaValue = replace(ParaValue, "!", "")
  31.                         ParaValue = replace(ParaValue, "+", "")
  32.                         ParaValue = replace(ParaValue, "=", "")
  33.                         ParaValue = replace(ParaValue, "-", "")
  34.                         'ParaValue = replace(ParaValue, "_", "")
  35.                         ParaValue = replace(ParaValue, "~", "")
  36.                         ParaValue = replace(ParaValue, "`", "")
  37.                         ParaValue = replace(ParaValue, "\", "")
  38.                         ParaValue = replace(ParaValue, "/", "")
  39.                         ParaValue = replace(ParaValue, "|", "")
  40.                         ParaValue = replace(ParaValue, ">", "")
  41.                         ParaValue = replace(ParaValue, "<", "")
  42.                         ParaValue = replace(ParaValue, "(", "")
  43.                         ParaValue = replace(ParaValue, ")", "")
  44.                         ParaValue = replace(ParaValue, "[", "")
  45.                         ParaValue = replace(ParaValue, "]", "")
  46.                         ParaValue = replace(ParaValue, "{", "")
  47.                         ParaValue = replace(ParaValue, "}", "")
  48.                         ParaValue = replace(ParaValue, "union", "")
  49.                         ParaValue = replace(ParaValue, "join", "")
  50.                         ParaValue = replace(ParaValue, "select", "")
  51.                         ParaValue = Replace(ParaValue, "update", "")
  52.                         ParaValue = replace(ParaValue, "delete", "")
  53.                         ParaValue = replace(ParaValue, "alter", "")
  54.                         ParaValue = Replace(ParaValue, "drop", "")
  55.                         ParaValue = replace(ParaValue, "create", "")
  56.                 end if
  57.         end if
  58.         safeRequest=ParaValue
  59. End function
复制代码

取代ASP自带的获取变量函数
ParaType为参数类型
1-数字
2-过滤单引号
其他数字-过滤所有敏感字符
数字如果验证失败返回False
其他的如果返回为空则有误
 楼主| 发表于 2005-6-22 15:56:00 | 显示全部楼层
不过这里是给去掉。能不能只是转换一下?
回复 支持 反对

使用道具 举报

发表于 2005-6-22 19:51:00 | 显示全部楼层
楼主,你写的这个东西如何调用?
我现在正在学习关于function函数,但是对参数还是很模糊,能否讲解一下原理,
怎么才能入function这一关??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-3-28 22:25 , Processed in 0.093516 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表