【问题标题】:Classic ASP sql server "operation is not allowed" error经典 ASP sql server “操作不允许”错误
【发布时间】:2015-07-21 03:47:01
【问题描述】:

我收到错误:

Request object error 'ASP 0104 : 80004005'

Operation not Allowed

/post.asp, line 3

尝试写入我的数据库后出现此错误。我添加的代码是

    jquery stuff{
    ar2 = useless2.split("Summary");
    ar = ar2[0];
    re = new RegExp("\n", "g");
    useless = ar.replace(re, "<br>");
    re = new RegExp('"', "g");
    useless = ar.replace(re, '""');
    used = useless;
    }

html stuff{
<input type="hidden" name="vDescription_' + c + '" value="' + used + '">
}

(是的,我知道 used=useless 没用)

描述的示例:

<input type="hidden" name="vDescription_323" value=" 

0:07 Discussion

1:06 Introduction and Motivation

2:24 Support Vector Machines

6:59 The Financial Kernel (FK)

8:28 Kernel Methods

10:10 Example

10:14 Data Selection

10:34 Preprocessing

10:57 Testing

">

这是从检查元素中提取的。我不完全确定为什么它会显示新行而不是
代码,这可能会导致错误?

ASP 代码:

<!--#include file="connv.inc"-->
<%
n=Request.form("total")
response.write(n)

for x = 0 to n-1
ttitle=Request.form("title_"&x)
title=Replace(ttitle, "'", "''")
id=Request.form("id_"&x)
views=Request.form("vViews_"&x)
likes=Request.form("vLikes_"&x)
description=Request.form("vDescription_"&x)

sql="if NOT exists (select * from tbl_videos where videoId = '"&id&"') INSERT INTO tbl_videos(videoTitle, videoId, videoLikes, videoViews, videoDescription, swamCompatible) values ('"&title&"', '"&id&"', '"&likes&"', '"&views&"', '"&description&"', '0')"
connv.execute(sql)
response.write(sql&"<br>")
next
%>

<html>
<head>
<title> Updating Tables </title>
</head>
<body>

</body>
</html>

<!--#include file="closeEmv.inc"-->

【问题讨论】:

  • 你需要在post.asp中显示服务端代码
  • @AlexK。哦忘了。它被添加进来了。
  • 我怀疑第 3 行与 connv.inc 相关
  • 你有SQL注入漏洞;如果我在vDescription 中提交"',0); delete from tbl_videos--",我可能会造成一些损害。请改用参数化命令。
  • @AlexK。如果数据是直接从 youtube api 而不是用户输入中提取的,我是否还需要防止 sql 注入?如果仅在我提交描述隐藏表单后出现错误,它仍然是 connv.inc 吗?我还在同一行中发送了更多变量。

标签: jquery sql-server vbscript asp-classic


【解决方案1】:

当发布的数据大小超过 ASP“最大实体请求正文限制”时,您会收到此错误。

来自Microsoft

如果 Content-Length 标头存在并且 Content-Length 标头指定的数据量大于 IIS 元数据库中 AspMaxRequestEntityAllowed 属性的值,则会出现此问题。 AspMaxRequestEntityAllowed 属性的默认值为 204,800 字节。

【讨论】:

  • 这是我发现的错误之一,但我认为我传递的任何描述都没有 100-20 万个字符。
  • 您似乎一次发布了多个描述。重要的是总尺寸。总大小是否可能超过请求大小限制?
  • 哦,是的,这很有可能。大约有 1000 多个描述。那么我是否必须一次只更新数百个服务器数据库?
  • @JonathanLin 是的,这可能是最好的解决方案。当然,您可以增加响应限制,但如果可能的话,我会避免这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多