为了某些网页的权限访问限制,我想对没有经过验证的用户显示http 404错误,请问如何实现?
主要是避免对这些页面存在与否的猜测
我用的session判断验证
外加防止直接输入网址判断
如果session验证判断为否
显示404错误
我想这样可以避免对授权页面隐藏保护
不知道思路是否正确,呵呵
也想问问大家对于授权页面保护有什么高招?
呵呵
可以开贴另外加分
问题点数:50、回复次数:20Top
1 楼mackyliu(才子-54caizi.com)回复于 2004-09-04 11:39:30 得分 5
没必要,验证没通过就直接显示没权限Top
2 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2004-09-04 11:42:22 得分 5
你可以在IIS找404错误页,不过我同意才子的观点Top
3 楼josney(梦凌风)回复于 2004-09-04 11:42:56 得分 2
同意Top
4 楼FEB15(张郎)回复于 2004-09-04 11:46:24 得分 2
没有用的,我想楼主是想避免一些部门的内容检查吧!他们不是白痴啊!Top
5 楼FEB15(张郎)回复于 2004-09-04 11:47:51 得分 2
实现起来很简单
liuxiaoyi666(兔子) 的办法可以,直接找到错误页
或者是:判断用户权限不通过时,直接转到一个不存在的页面系统自然会报告错误Top
6 楼jiuhexuan(中文)回复于 2004-09-04 11:49:58 得分 0
呵呵
我的意思是
假如想保护授权页为:admin_index.asp
如果没有经过验证
显示为404错误
就像真得不存在改页(链接地址不变,IE显示http404错误)
而不是跳转到C:\WINDOWS\help\iisHelp\common\404b.htm
Top
7 楼jiuhexuan(中文)回复于 2004-09-04 12:00:52 得分 0
呵呵
FEB15(菜鸟 2004测试版)
你想吓死我?
呵呵,我可是个守法的老实民Top
8 楼FEB15(张郎)回复于 2004-09-04 13:41:16 得分 10
做一个一摸一样的页面出来,放进过程里,错误了就Call出来,其它的全部Response.EndTop
9 楼mrshelly(Shelly)回复于 2004-09-04 13:49:14 得分 8
Response.AddHeader("HTTP/1.0 404 File Not Found")
Response.Flush
试试吧.我没有测试.Top
10 楼jiuhexuan(中文)回复于 2004-09-04 14:36:11 得分 0
FEB15(菜鸟 2004测试版)
你的方法我也想到了,不过有点太费劲了,赫赫
我想找一个直接返回404的语法
mrshelly(Shelly)
response.addheader方法只是添加一个标题,呵呵
我找到一个response.maptofile,不过提示:对象不支持此属性或方法Top
11 楼jiuhexuan(中文)回复于 2004-09-04 14:50:28 得分 0
Response.Redirect("C:\WINDOWS\help\iisHelp\common\404b.htm")
呵呵,直接这样就可以啦
不过一刷新就露馅了(地址栏变为C:\WINDOWS\help\iisHelp\common\404b.htm)Top
12 楼mrshelly(Shelly)回复于 2004-09-04 14:57:36 得分 5
mrshelly(Shelly)
response.addheader方法只是添加一个标题,呵呵
???
我忘记写一个
response.end 了.
Top
13 楼jiuhexuan(中文)回复于 2004-09-04 15:17:35 得分 0
AddHeader 方法
AddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题
语法
Response.AddHeader name, value
参数
name
新的标题变量的名称
value
存储在新的标题变量中的初始值
注释
为避免命名不明确,name 中不能包含任何下划线字符 (_)。ServerVariables 集合将标题中的下划线字符解释为反斜杠。例如,下面的脚本使服务器查找一个名为 MY-HEADER 的标题名。
<% Request.ServerVariables("HTTP_MY_HEADER") %>
示例
下面这个示例使用 AddHeader 方法要求客户端使用 BASIC 验证。
<% Response.Addheader "WWW-Authenticate", "BASIC" %>
注意 前面的脚本仅通知客户端浏览器使用哪个验证。若您在 Web 应用程序中使用该脚本,则一定要启用 Web 服务器的 BASIC 验证。
它的方法需要name,value
呵呵,我不知道怎么用你的Response.AddHeader("HTTP/1.0 404 File Not Found")
麻烦了Top
14 楼jiuhexuan(中文)回复于 2004-09-04 17:09:27 得分 0
Response.Redirect("C:\WINDOWS\help\iisHelp\common\404b.htm")
没有达到目的
只能用把该页封装成过程调用吗?Top
15 楼tjficcbw(津津)回复于 2004-09-05 10:59:51 得分 1
你不是说你要达到 一个不存在的页吗,为什么不,当验证通不过时转入不存在的页呢Top
16 楼kenvinqu(kely)回复于 2004-09-05 11:39:10 得分 10
做好的办法就是,仿照 404错误页做一个网页,
然后别人没有权限访问时 就转到这个页面,
哈哈,
多爽,
别人以为是系统的,
这样就不管别人的系统了。。。。。。。。。
Top
17 楼jiuhexuan(中文)回复于 2004-09-05 11:42:43 得分 0
也许这个用asp来控制IIS返回错误的处理Top
18 楼jiuhexuan(中文)回复于 2004-09-06 11:51:49 得分 0
顶起来!Top
19 楼mrshelly(Shelly)回复于 2004-09-07 09:07:00 得分 0
它的方法需要name,value
呵呵,我不知道怎么用你的Response.AddHeader("HTTP/1.0 404 File Not Found")
麻烦了
你写代码试过了没有???
没有试就想当然地说不成???
严重B4你这种不动手只动脑的行为~!Top
20 楼jiuhexuan(中文)回复于 2004-09-18 16:53:37 得分 0
呵呵,火气不小。兄弟自己厉害,也不用随便鄙视别人,还严重,哈哈哈哈哈哈。
首先感谢兄弟的帮助
你的方法我动了很多次手,也查阅了相关资料。
可能是我运用得不当
出现了两种情况:
一,代码:Response.AddHeader("HTTP/1.0 404 File Not Found")
response.End()
报错:Microsoft VBScript 运行时错误 错误 '800a01c2'
错误的参数个数或无效的参数属性值: 'Response.AddHeader'
二,代码:Response.AddHeader "HTTP/1.0","404 File Not Found"
response.End()
报错:无,显示空白。(看来是没有任何作用)
不知道兄弟动手了没?
呵呵,莫怪!
来让我们一起鄙视不动手只动脑的行为~!Top




