【发布时间】:2013-01-02 11:21:30
【问题描述】:
我认为这很容易,但我无法让它发挥作用。
我有一个带有“删除”按钮的表单。它调用 www.mypage.com/adm/ads.asp?del=12。 所以 list.asp 看到有一个 del=12 的查询字符串,并删除了相应的项目。 删除后,我想刷新此页面(类似于 Response.Redirect www.mypage.com/adm/ads.asp),以便查询字符串 del=12 消失。 我无法让它工作。
If (Request.QueryString("del").Count > 0) Then
id = Request.QueryString("del")
sql = "delete from Ads where ID = " & id & ""
on error resume next
conn.Execute sql
If err<>0 then
Response.Write("Delete error!")
Else
Response.Redirect http://www.mypage.com/adm/ads.asp
//Call opener.location.reload()
End if
页面已重新加载,但 del 并未从查询字符串中消失。
【问题讨论】:
-
请记住,这很容易受到 SQL 注入的攻击。如果我通过
?del=0 OR 1=1,您的整个表格将被删除。 -
是的,你是对的。我会修改这个。但是,这是管理面板,并不那么重要,因为管理员可以删除所有广告。
-
考虑到您还使用 GET 请求删除,我还可以将图像添加到我自己的站点,其中
src标记指向www.yourpage.com/adm/ads.asp?del=12 or 1=1,如果您访问我的站点,您的整个表格将被你删除。因此,即使某些东西只适合您/管理员,也要始终编写正确的代码。
标签: asp-classic