注册 登录
编程论坛 ASP技术论坛

怎样不让浏览者手动修改URL参数?

towering 发布于 2008-12-07 13:46, 2236 次点击
比如我的一个新闻页面的URL为:

ShowNews.asp?id=1

浏览者可以修改为:

ShowNews.asp?id=2

这样他就会看到我的另一条新闻了。

请问怎么不让浏览者手动修改URL参数?

当别人修改URL参数时会报错。

谢谢!
9 回复
#2
hmhz2008-12-07 14:02
别人修改的参数你数据要存在的,不存在他修改了也是报错的,如果有那个ID号存在,那当然可以打开你的新闻了,你地址栏传的参数,别人当然能改,要想不让别人能修改,只有不从地址栏传参数,使用post表单方式传送,这样别人就无法在地址栏修改了,因为地址栏没有参数可修改了
#3
towering2008-12-07 14:08
我的是新闻

一般也是链接

这样好像不能用POST吧?

不过还是谢谢你!
#4
yms1232008-12-07 15:17
一般无法阻止用户修改URL参数,但可以在程序中做限制让用户手动修改了也无效。
#5
luo1232008-12-07 20:11
LZ你可以设置一下那条新闻只有规定用户可以查看,就像论坛的一些帖子设置了阅读权限(只有规定用户可以查看)

[[it] 本帖最后由 luo123 于 2008-12-7 20:12 编辑 [/it]]
#6
luo1232008-12-07 20:19
用JavaScript获取上一页:
<script>
if(document.referrer='')  //如果用户是直接输入网址的话,或者你可以更详细的判断用户进来的地址是不是你本站的地址
windows.location="about:_blank"  // 网页跳转到一个空白页面
</script>
 用asp获取上一页:
Request.ServerVariables("HTTP_REFERER")
#7
towering2008-12-10 15:23
好像看到过 luo123 的第二种方式

就是用asp获取上一页。

我试试吧。

谢谢各位!
#8
lackyking2008-12-10 15:46
程序代码:
Public Function CheckFrom()
        CheckFrom = False
        'On Error Resume Next
        Dim Server_S1 : Server_S1 = CStr(Request.ServerVariables("HTTP_REFERER"))
        Dim Server_S2 : Server_S2 = CStr(Request.ServerVariables("SERVER_NAME"))
        If Mid(Server_S1, 8, Len(Server_S2)) = Server_S2 Then CheckFrom = True
    End Function


If CheckFrom = False Then Response.Write("False")
#9
towering2008-12-11 11:59
测试成功!

感谢lackyking!

也感谢各位的热心!
#10
hmhz2008-12-11 13:50
判断是否上一页好象不太好,不利于搜索网站的收录
1