这是我的代码来自frame.php
<FRAMESET rows="20, 200" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0>
<FRAME src="menu1.html">
<FRAME src="test1.php">
</FRAMESET>
我想知道是否有办法阻止人们直接去“test1.php”?
我希望人们留在frame.php,如果人们试图直接转到“test1.php”,它会给你错误。有这样的方式或代码吗?
在进入此“frame.php”页面之前,我的用户需要登录。
我是新手,我正在尝试从用户身份验证和配置页面移动一些东西,但不要认为有什么对我有用。
我在“menu1.html”中包含用户身份验证和配置页面。此部分显示类似“欢迎用户名|注销|菜单的休止符”。当人们登录时,他们可以访问“frame.php,包括test1.php”
我找到了这个,但不确定如何使用它。我在“前进”区域放了什么代码?另外,我应该把“logoff.php”放在其他地方之后吗?
if ($_SERVER['HTTP_REFERER'] == 'http://mysite.com/downloadlist.php') {
//proceed
} else {
//kick user out
}
非常感谢。
答案 0 :(得分:2)
使用test1.php中的以下javascript片段来确定是否从iframe加载了test1.php:
if (window.location != window.parent.location) {
// test1.php is within iframe
} else {
// test1.php is accessed directly
}
答案 1 :(得分:2)
1.您不使用frameset。 Frameset已弃用且注定为标记。使用iframe代替,imo。在当前页面中,您可以使用INCLUDE php函数来最小化http请求。
2.来自url和来自框架的请求是相同的GET请求。因此,您无法在服务器上理解,该请求来自:框架或其他地方。但你可以使用js。我不推荐你这个,但它的工作原理如下:
<body onLoad="fromFrame">
// test1.php code here
</body>
<script type="text/javascript">
function fromFrame() {
if (window.top === window.self)
document.location.href = "errorRedirectUrl";
}
</script>
答案 2 :(得分:0)
include
访问它(从另一个“好”供用户访问的页面)。