如何禁用对html的直接输入
How to disable direct entry to a html?
假设我有两个名为html1和html2的html文件。html1包含一个嵌入的swf文件。
现在我想要的是,用户不能直接通过url访问html2。他必须通过html1中swf中的链接点击它。有办法做到这一点吗?
如果在html中不可能,那么在php中可能吗?
感谢
编辑:
在得到John的回答后,我继续尝试他的建议,但我永远无法访问file2.php,即使我以前去过file1.php。它不断将我重定向回file1.php,即使不应该这样做。
我的代码来自file1.php
//file1.php
<?php
session_start();
$_SESSION['enableAccessTill']=strtotime("+5 minutes");
?>
这里是file2.php
//file2.php
<?php
session_start();
if(!isset($_SESSION['enableAccessTil'])||$_SESSION['enableAccessTil']<time())
{
header("Location: indexFLA.php");
exit;
}
?>
我可能做错了什么?
发现了它,这是由于拼写错误-"enableAccessTil"answers"enableAccessTil"
专业解决方案:
创建受保护的目录,在目录中创建.htaccess
文件,并将所有嵌入和部分文件复制到目录中
此目录无法访问whit-get-url
但是您可以包括文件whit-php-include
和require
方法
.htaccess内容:
deny from all
这在纯html中是不可能的。php是一种简单的方法,它在文件1中设置一个会话变量,并在文件2中测试用户对文件1的访问。
文件1:
<?php
session_start();
$_SESSION['enableAccessTill'] = strtotime("+5 minutes"); //set the time here till when the user has access
[...]
file2
<?php
session_start();
if(!isset( $_SESSION['enableAccessTill'] ) || $_SESSION['enableAccessTill'] < time() ){ //If time is expired
header("Location: file1.php"); //redirect user to the first file
exit;
}
[...] //continue your script here.
引用者检查通常会失败(一些浏览器/防火墙会阻止该变量)。
根据您所描述的选项,将html2设置为php
脚本并检查referrer是否为html1文件听起来是最合理的。如果是这种情况,脚本应该显示正常的html1内容,否则应该显示错误消息。
如果一个狡猾的用户知道发生了什么,他们仍然可以绕过这一点,但这对大多数观众来说应该没问题。
php可能。
在index.php,您必须编写
<?php
define('START', true);
include 'file.php';
在file.php上需要写入
<?php defined('START) or die('Direct access!!'); ?>
<embed> your swf file embed
通过这种方式,您将阻止直接访问
您可以通过使用会话变量使用PHP来实现这一点。在html1中启动会话。在html2中检查会话。如果存在,则显示html2。如果没有,则不要显示html2。在任何一种情况下,都可以在html2中销毁会话。
使用html是可行的,您有两个选项,一个是cookie,另一个是html5 中的本地存储
localStorage.hasClick = true;
alert(localStorage.hasClick);
http://www.html5rocks.com/en/features/storage
但很明显,直接的解决方案是php/c#/ruby/等…
//当我说html时,我指的是仅使用客户端html/javascript
- Angularjs$编译输入html或元素
- 将输入 html 元素动态关联到颜色选取器
- 如何使用 JavaScript 显示 html 输入:.html(' < input type=“text” /
- 在输入 HTML 表单上从 Java 脚本传递参数
- 如何根据用户输入 HTML 更新多个 SPAN 元素
- 如何计算输入 HTML 元素的宽度,使其与其内容的大小相匹配
- 如何在输入 html 中编写一个 js var 值
- Javascript:如何获取所选复选框的所有值,推送到数组,然后放入输入HTML元素
- 如何使用Javascript自动输入html中行的序列号
- 特殊的点屏蔽输入 HTML-JavaScript
- 在select选项和input.text之间切换输入html
- 隐藏输入(html表单确认)-服务器端脚本?(php)
- 验证用户输入HTML子集
- 在KeyUp上输入HTML/JavaScript密码,用于浏览器自动填充
- 按钮内文本输入- HTML
- 在ie10,9中选择选项(html 5标签)在下一个输入(html 5标签)的位置
- 有麻烦输入html列表选项从xml文件
- 在非输入html标签上使用ng-keyup
- 在表数据中输入Html文本
- 中心文件输入- Html/Css