怎么禁止直接输入网址访问 传个session过去判断下可以不? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 a.htm<html> <head> <script src="b.php" language="javascript"> </script> </head> <body> </body></html>b.php<?php#$_SERVER['HTTP_REFERER']表示链接到当前页面的前一页面的 URL 地址。$fromLink = substr($_SERVER['HTTP_REFERER'], -5);#determine whether $fromLink equals to "a.htm"if($fromLink != "a.htm") echo "no";else echo "yes";?> 是的,如楼上所说,取得上页地址,匹配后打开。否则die('access died ') <script src="11.php?test=1" language="javascript"></script>传个参数是不是可以实现。 感谢wingsofsky的回复,但我试过了,如果先打开a.htm,原后在地址栏将地址改为b.php还是显示的yes 理论上不可能,因为你嵌入HTML,浏览器就是两次访问,相当于直接输入网址访问可以鉴别一下refer等参数,但是效果不好,除非改变你调用方式 这种方法我是在网上看到的,别人是怎么实现的呢如:http://v.mxabc.com/e/ty/200701/60256.shtml里面包含的<script type="text/javascript" language="javascript" src="http://v.mxabc.com/play_detail.asp?id=60256"></script>可以正常运行,但打开http://v.mxabc.com/play_detail.asp?id=60256的话就显示不了 http://v.mxabc.com/play_detail.asp?id=60256Response HeadersDate Fri, 23 Nov 2007 15:28:26 GMTServer Microsoft-IIS/6.0Pragma no-cacheCache-Control private, no-cacheContent-Length 1130Content-Type text/htmlExpires Thu, 22 Nov 2007 15:28:00 GMTSet-Cookie ASPSESSIONIDQABBRCTS=BGGFKIHDBLKADAOOFEJJMPFL; path=/Request HeadersHost v.mxabc.comUser-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9Accept */*Accept-Language zh-cn,zh;q=0.5Accept-Encoding gzip,deflateAccept-Charset gb2312,utf-8;q=0.7,*;q=0.7Keep-Alive 300Connection keep-aliveReferer http://v.mxabc.com/e/ty/200701/60256.shtml这是抓到的头,希望能对你有帮助 所有你见到的,都是初级的防范,,,伪造HTTP头,完全模拟了就一点辙都没有了如果你想做初级防范的化,楼上面许多朋友的建议都很有价值的 apache好像带一个功能模块,直接打开无效,需要从本站的某个页面才行。 ($_SERVER['HTTP_REFERER'] == "a.html") or die("I Love this game")改成正则 除了$_SERVER['HTTP_REFERER']判断没有其它方法吗,用$_SERVER['HTTP_REFERER']没什么用,当用户从a.html进入将地址改成b.php时,b.php同样会运行 if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "b.php") { header("HTTP/1.0 404 Not Found");}禁止直接从浏览器访问 计算时间差值 我刚申请的免费php空间20m 不带mysql class内部的函数如何相互调用? 一个php问题 php中form的简单问题 Can't connect to local MySQL server through socket '/usr/local/mysql-5.0/data/mysql.sock' (2) 急!session问题! 做验证码程序,用cookie好呢,还是session好? 关于简繁转换的页面编码设定问题 遇到的一个C的问题 一个JS在IE和FireFox中执行效果 什么是LAMP?
<html>
<head>
<script src="b.php" language="javascript">
</script>
</head>
<body>
</body>
</html>b.php
<?php
#$_SERVER['HTTP_REFERER']表示链接到当前页面的前一页面的 URL 地址。
$fromLink = substr($_SERVER['HTTP_REFERER'], -5);#determine whether $fromLink equals to "a.htm"
if($fromLink != "a.htm")
echo "no";
else
echo "yes";
?>
Date Fri, 23 Nov 2007 15:28:26 GMT
Server Microsoft-IIS/6.0
Pragma no-cache
Cache-Control private, no-cache
Content-Length 1130
Content-Type text/html
Expires Thu, 22 Nov 2007 15:28:00 GMT
Set-Cookie ASPSESSIONIDQABBRCTS=BGGFKIHDBLKADAOOFEJJMPFL; path=/Request Headers
Host v.mxabc.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
Accept */*
Accept-Language zh-cn,zh;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Referer http://v.mxabc.com/e/ty/200701/60256.shtml这是抓到的头,希望能对你有帮助
header("HTTP/1.0 404 Not Found");
}
禁止直接从浏览器访问