zoukankan      html  css  js  c++  java
  • asp错误:调用子程序时不能使用括号

    今天在处理电子电器交易网(www.hifi168.net )的安全问题。文件上传漏洞是asp网站之痛。在处理这个问题时,动用了双层机制:

    1、用户权限检查。由于后台权限是靠session来控制了,这个很容易办到。

    2、来源页面检测。文件是从哪里提交上来的?能不能在本地建立一个站点,把页面POST到远程的站点呢?我不是专门做挂马工作的,没有测试过。不过为了防止这种情形,接收上传文件的页面需要做来源页面核对。这就用到了Request.ServerVariables("HTTP_Referer") 参数了。这个参数可以取得传入数据的来源页面地址。对它做判断,如果是站内提交就接受,站外提交就拒绝(本想转向一些包含病毒的网站,奈何手头没有合适的网址,就算了)。

    至于上面出现的错误:

    Microsoft VBScript 编译器错误 (0x800A0414)
    调用子程序时不能使用括号

    是在调用函数时碰到的。函数如果包含2个以上的参数,调的方式就比较烦人。原则是:有call时加括号,没有call时不用括号。但是也有例外,就是在方法中调用函数,是可以没有Call并加括号的,例如:

    Response.Write(MyFunction(parameter1,parameter2))

    至于说要在参数间加空格,或者有没有返回值影响函数的调用方法,参考资料如下,但我不认为是正确的!

    以下网络上的参考资料,只做参考,不保证正确!

    一般情况下,这种错误出现在调用的过程没有返回值的情况。应该来说,就是调用参数赋值错误。出现这种错误,使用CALL 就是可以解决的。
    不返回值的过程调用不能加括号,应该这样写
    treesort cat_ID,childcount

    如果实在不习惯,可以在前面加Call来调用
    Call treesort(cat_ID,childcount)

    也就是所谓的有call时加括号,没有call时不用括号。另外,在函数名和参数间要加个空格

    另:调用程序是显示调用子程序时不能使用括号 如set("ab",90) 加上call后正常

  • 相关阅读:
    超酷图片压缩工具,就是不支持批量
    eclipse java热加载
    mysql 突然报错,连接不上
    svn问题终极解决办法
    svn经常困扰我的问题
    洛谷 P3628
    CodeForces 1091H
    委托的实际应用
    WPF 小知识点001
    C# 扩展方法一
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839405.html
Copyright © 2011-2022 走看看