请先登录 | 注册
MM0759.COM
[ASP语法] CInt(...) 将一个表达式转化为数字类型 - 文章首页返回版区
■标题:[ASP语法] CInt(...) 将一个表达式转化为数字类型
■作者:IPSC [2005/12/10 16:21:54]

CInt(...)
  功能: 将一个表达式转化为数字类型
  语法: CInt(expression)
  条件: 任何有效的字符均可
  例子: <%
  f = "234"
  response.write cINT(f) + 2
  %>
  运行后显示: 236
  转化字符"234"为数字"234",如果字符串为空,则返回0值

         IPSC附语:括号里的值不能为空值,仅能是数字,否则会出现错误提示,在BBSXP里的showforum.asp里就用到,用来处理计算的页数。

 

 

[此帖子已被 IPSC 在 2005-12-10 16:31:44 编辑过]

回复/版区/上篇/下篇/发贴/仅文字/HTML

【倒序/最近21条回复】
■作者:cnpoet [2006/1/5 23:24:37]

嗯..以前那篇 动网最大的上传漏洞的文章,好像也搞过这个...

NET也有这个问题.学习了!



■作者:IPSC [2006/1/5 16:18:47]

这种语法官方直接用来判断网址里提交的ID值,这是个BUG,因为现在有很多破解论坛管理员密码的软件就是想办法让你论坛显示错误提示,如 abc.asp 行32   ..... 这类,它就能截获所有出错行数之前已定义和赋值的变量,如SETUP。ASP里定义的管理员密码,用户账号/密码等。反抗的方法就是无论如何不让论坛页面出那种错误或者不在SETUP。ASP里把管理密码这类重要的信息赋值到变量,为了方便,但这是很傻的做法。总之想办法让ASP页面无论在网址里提交了什么,都要判断出来,然后用我们的ERROR来提示,这样就安全!

那么,在用CINT语法前面,应该用
if not ISNUMERIC(""&request("网址提交来的变量名")&"") then error("<li>ID错误!")
来先判断提交的ID是不是数字,如果不是,就提示我们的ERROR错误,这样就安全。



■作者:IPSC [2006/1/5 16:08:34]

是的,这确实是区别,这里贴的是ASP下的,自然和ASP。NET有区别,呵呵呵

兄弟学得真快! 高手也



■作者:cnpoet [2006/1/5 2:48:26]

response.write cINT(f) + 2

是不是应该写成
response.write(cINT(f) + 2)

???我用.NET,前者出错,后者得到正确结果...是不是ASP与.NET的区别呢?



(查看完整版网页)



短讯|首页|登录|算法|电脑版 .
DK MiniBBS Plus v2.0
mm0759.com
179 毫秒 .