ASP(VBScript)中用于输入处理的最佳方式(或至少是最常用的方法)是什么?我主要关心的是HTML/JavaScript注入和SQL注入.是否有一些等同于PHP htmlspecialchars或addslashes等等?或者我必须手动执行字符串替换功能吗?
是否可以将字典对象设置为经典ASP中类的属性?我似乎无法正确使用语法.我有一个函数,我想返回一个字典对象,并将函数返回的字典对象分配给类属性,但我不断收到类型不匹配错误?
如果我不能使用字典对象,我可以使用数组吗?
我对经典ASP很新,但我非常了解C#/ .NET.
我有一个PDF文件,我希望我的用户在点击按钮/链接/图像时下载.这可能吗?
谢谢
我有一个5岁的ASP文件.实际上我正在使用PHP,但我必须使用ASP作为Windows应用程序.所以我需要有人向我解释这个功能.
// DNS设置已包含在内.
function Check_Is_Web_Locked()
dim cmdDB , Ret
OpenDatabase
Set cmdDB = Server.CreateObject("ADODB.Command")
With cmdDB
.ActiveConnection = DBCon
.CommandText = "TICT_CHECK_WEB_STATUS"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0)
.Execute,,adExecuteNoRecords
Ret = Trim(.Parameters("RETURN_VALUE"))
End With
Set cmdDB = Nothing
CloseDatabase
Check_Is_Web_Locked = Ret
end function
Run Code Online (Sandbox Code Playgroud)
这个功能有什么作用?
"TICT_CHECK_WEB_STATUS"是一个存储过程吗?
如果它是什么功能寻找的列?
我需要修改一些用经典ASP(VBscript)编写的遗留代码.
我有一行设置数据库连接,如下所示:
set m_conn=OpenConn()
Run Code Online (Sandbox Code Playgroud)
我相信该OpenConn()函数在某个DLL中.这是坏消息,因为我们找不到该dll的源代码.所以,我一直在努力替换这个功能.这是我到目前为止:
function OpenConn()
dim conn
set conn = server.CreateObject("adodb.connection")
conn.open "XXXXconnection-stringXXXXX"
OpenConn = conn
end function
Run Code Online (Sandbox Code Playgroud)
当我尝试运行原始行set m_conn=OpenConn()(第50行)时,我得到一个ASP错误:
Microsoft VBScript runtime error '800a01a8'
Object required: '[string: "Provider=SQLOLEDB.1;"]'
/path/to/include.asp, line 50
Run Code Online (Sandbox Code Playgroud)
我不太清楚这种语法应该如何工作.通常,我在C#中工作,但是当我需要在ASP中执行这样的操作时,我会使用这样的语法:
set conn = server.createobject("adodb.conection")
conn.activeconnection = "connectionstring"
conn.execute "sql"
set conn = nothing
Run Code Online (Sandbox Code Playgroud)
无论如何,我正在寻找正确的语法,OpenConn()以便set m_conn=OpenConn()正常工作.
谢谢你的帮助.
我试图理解ASP经典如何在内部处理字符串.我用谷歌搜索和调试,但我仍然不知道如何在ASP脚本中编码字符串.
请参见下图.
输入数据是否已转换,以便所有字符串变量具有相同的编码,无论哪个源?
大多数ASP页面都以utf-8的形式保存在磁盘上.但它们确实#include使用其他编码保存的asp文件.在前端页面的顶部,我将响应编码设置为unicode.
response.codepage = 65001 //unicode
reponse.charset = 'utf-8'
Run Code Online (Sandbox Code Playgroud)
关于On Error Goto x没有捕获所有错误等有类似的问题,但我遇到了一个不同的问题.
我的(经典ASP)页面工作正常,大部分时间.有些用户抱怨页面出错,无法复制.
我尝试了错误处理,但On Error Resume Next没有帮助我解决这种情况,On Error Goto导致页面无法正常工作并不断抛出错误(看起来像500,但这可能是因为处理IIS正在后台进行).它发生了,我是否写Goto 0或Goto [label]没有区别,如果标签存在与否.
可能是什么导致了这个?
这是我的代码:
Response.Write("<script language='javascript'>alert('Thanks you!');</script>")
Response.Redirect "page.htm"
Run Code Online (Sandbox Code Playgroud)
如果我在.asp文件中使用它,我不会在第一行收到警报.相反,我被重定向到page.htm
但是,如果我删除第二行 - 我确实收到警报.
我究竟做错了什么?
谢谢 !
我有一个从数据库中提取的日期,格式如下
12/23/2005
Run Code Online (Sandbox Code Playgroud)
这是
mm/dd/yyyy
Run Code Online (Sandbox Code Playgroud)
我想将经典的asp转换为以下内容
December 23 2004
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我这个吗?
干杯,
asp-classic ×10
vbscript ×3
ado ×2
sql-server ×2
download ×1
encoding ×1
http-headers ×1
javascript ×1