0

你好 StackOverFlow 人。:)

我主要是在写论文,但是由于你们都在这里很忙,我会尽量让问题变得简单。我不擅长 PHP,但我想保护 PHP 文件。我知道我可以使用 .htaccess & %100 其他方式,但我需要保护一个特定文件。有数十年的 PHP 文件保护器,但我需要一些它实际上不会向人们显示有任何内容的东西。我需要让每个访问者都可以使用 PHP 文件,但是除非他们触发任何操作,否则他们无法看到内容保留在那里。我的意思是,如果有人访问 file.php 文件,那么只会出现一个白色的空白网页,上面没有任何标记,但是如果该人按下一些键,单击某些东西,在页面上停留一段时间,那么内容就会出现。

很快:我有一个 PHP 文件,我需要使其在网页中不可见,但通过某些特定操作,触发它的用户将看到代码,并且 PHP 文件适合所有人使用。

如果有人能给我至少任何提示,我将不胜感激。暑假开始时,我将深入学习 PHP。:)

4

2 回答 2

1

这可以使用 JavaScript 来实现,但这不是安全的方法,因为每个人都可以简单地按 CTRL + U。

如果想完全做到这一点,我建议使用 WebSockets / NodeJS + Socket.IO。您可以使用 NodeJS 尤其是套接字来获取连接打开、按下发送键等的时间。您可以在 Nodejs.org 上阅读更多内容。

你为什么要这样做?也许我们会帮助您找出更好的方法来做您想做的事。

编辑:由于作者写道:“‘密码’的重点不是保护内容,而是将其隐藏在不小心到达那里的访问者的肉眼之外。它不需要任何形式的保护全部。 ”

纯javascript解决方案:

$(document).keypress(function(event) {
  if ( event.which == 13 ) {
    $("#element").show();
  }

});

并使用 HTML 创建一个 div:

<div id="element" style="display: none;">HIDDEN CONTEST YOYOYOYOYOY </div>

您需要包含 jQuery。

于 2013-05-28T21:07:39.780 回答
-1

这不是你可以用 PHP 做的事情,因为你不能在 PHP 中监听任何事件(除非用户点击某些东西[页面上的元素]是可以接受的)。

也许一个可接受的解决方案是如果密码参数设置为 url 中的正确参数,则允许用户查看页面?

例子

if(isset($_GET['password'])) {
        if($_GET['password'] == 'mypassword') {
                echo "Lucky one!";
        }
}

这样,只有当用户有 file.php?password=mypassword 来访问文件时,她才会真正看到内容。

于 2013-05-28T21:07:45.070 回答