asp中,有一个id,想要用随机数伪装它,让外在用户猜不到真实id。比如id=256,可伪装成**********256**********,里面*号是1-9任意数字。
这样做的目的是隐藏真实id,比如用在下载文件的命名上。
可通过程序处理,得到真实id。
为了更好地说明,我们假如有一个id=256,我们先混淆伪装,然后再还原。
需要用到一个随机函数:
<% Function rndStr(strLong) Dim tempStr Randomize Do While Len(rndStr) < strLong tempStr=CStr(Chr((57-48)*rnd+48)) rndStr=rndStr&tempStr Loop rndStr=rndStr End Function %>
下面以Form表单中提交的参数为例子,需要传递的参数Uid,原来的值是从数据库读取的ID。
<form name="form1" action="server.asp" method="post"> <input name="Uid" value="<%=rndStr(10)%><%=Rs("ID")%><%=rndStr(10)%>"> </form>
上面的Uid每次刷新的值都是不一样。比如伪装后的值是52654858752568965425629
server.asp页面获取Uid的值,Uid = Trim(Request.Form("Uid"))。
我们通过Mid函数来还原正式id。
Uid = Mid(Uid,11) LastID = Mid(Uid,1,Len(Uid)-10)
输出结果:256
这个方法可以用到文件的下载,公文流转方面。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/260.html