asp错误:调用子程序时不能使用括号

简介: 今天在处理电子电器交易网(www.hifi168.net )的安全问题。文件上传漏洞是asp网站之痛。在处理这个问题时,动用了双层机制: 1、用户权限检查。由于后台权限是靠session来控制了,这个很容易办到。

今天在处理电子电器交易网(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后正常

目录
相关文章
|
SQL 存储 .NET
一起谈.NET技术,ASP.NET调用.sql文件(二)
  笔者前一阵子发表了一篇《ASP.NET调用.sql文件》文章,主要是是解决数据库配置,减去传统手工附加数据库和自己改写web.config文件等等这些复杂的过程,而是配置的向导。其中给出关键的技术知识点,就是通过sql数据库生成数据库脚本即.sql文件,然后通过调用osql.exe来执行.sql文件。
757 0
|
SQL .NET 数据库
一起谈.NET技术,ASP.NET调用.sql文件
  笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个页面,然后根据向导一步一步引导用户安装生成数据库”那么这样做就需要一个创建数据库的语句和创建这些数据库表的语句,还有这些创建数据库视图以及函数的语句。
814 0
|
前端开发 .NET 开发框架
|
XML 数据格式 网络架构
|
Web App开发 前端开发 索引
ASP.NET MVC 5调用其他Action
引用代码: @Html.Action("Index", "BaseData", new { d = "variety" })   后台获取参数: RouteData.Values["d"]   如果本文对你有所帮助,请打赏——1元就足够感动我:) 联系邮箱:intdb@qq.
793 0
|
.NET Windows 数据安全/隐私保护
asp.net调用飞信免费发短信
之前用过一段时间,已经证实不能再用! #region 免费发送飞们接口(2014-01-06 16:20测试有效) /// /// 免费发送飞们接口(要开通飞信把对方加为好友才能发,也可以给自己...
1137 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
42 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
100 5