-3

用户名的解析在用户名内部有一个',我认为这会导致代码在我设置它时中断

tempUsername=Request.Form("用户名")

if (Request.Form("Action") = "Login") then
    tempUsername=Request.Form("UserName")
    tempPassword=Request.Form("UserPassword")

这个假设对吗?如果是这样,有什么解决方案?

4

1 回答 1

1

跳到詹姆斯的评论,并回答这个问题:

输入净化是每种语言的一个问题。即使用户名中没有'字符,这段代码也是危险的++

至少,Request.form通过一个函数运行您从中获取的所有数据,该函数在数据传递到的上下文(例如数据存储或目录解析代码)的上下文中转义/清理危险字符。

至于使用 的代码<%,这是一个 ASP 脚本的标志,语法看起来像是 VB。尤其是一个死的(Request.Form("Action") = "Login")赠品,因为自 80 年代以来没有理智的编程语言使用“=”作为相等测试运算符 =)

于 2013-09-04T16:20:21.757 回答