2

我需要一个 div 在我的网站上每两分钟左右自动刷新一次,我发现这段代码有效。

<script>
var auto_refresh = setInterval(
function()
{
$('#mydiv').load('urltocontent.php').fadeIn("slow");
}, 10000);
</script>

然后我只是有一个<div id="mydiv"></div>

虽然这很好用,但我想知道我是否可以隐藏文件位置?我不希望人们能够访问在他们查看我的源代码时可以看到的 urltocontent.php。

有没有办法只刷新div?(不必在里面添加 load('urltocontent.php').)。

希望早日收到你的消息!谢谢!


大家好!感谢您的所有快速回复!我为我的愚蠢问题道歉...

我尝试了 Kiren Siva 的方法,它阻止用户直接访问该站点,但现在我的第一次加载将显示“错误请求”。

我希望我能隐藏它的主要原因是它会更“专业”。因为它链接到我的一个模板文件夹,并且我的网站的其他部分存储在该文件夹中。我也不希望好奇的人访问该页面并被一个丑陋的非 cssed 页面打招呼。

4

6 回答 6

2

除非我误解了这个问题,否则它本质上是无法隐藏的。即使你找到了一种在源代码中隐藏它的方法,任何人都可以打开 Chrome 的开发者工具或 Firebug 并查看对服务器的请求。

浏览器知道的任何事情,用户都可以找出他们是否想要并拥有正确的工具。

于 2013-06-15T07:24:32.790 回答
1

如果浏览器能够访问它,那么 URL 就不能停止。

如果您想要更安全和受保护,那么您只能使用身份验证+授权。所以只有登录的用户才能访问它。URL限制不是一个好习惯。有人通过机器人访问它。但是简单的正确身份验证可以节省您

如何在 jQuery 和 AJAX 中使用 Basic Auth?

于 2013-06-15T07:24:45.213 回答
0

您无法隐藏它,因为 Ajax 函数需要调用页面。

如果您想隐藏该特定页面,您可以做的是从您的 Ajax 调用一个虚拟页面,然后调用实际页面。

例如,使用 Ajax 调用中的 index.php 并从 index.php 执行位于 urltocontent.php(如果有)中的函数。或者将请求从 index.php 转发到该页面。

于 2013-06-15T07:24:45.387 回答
0

如果您透露网址,任何人都可以明确调用它。所以你必须在它自己的文件中管理它。即检查请求是否来自ajax。

if($_SERVER['HTTP_X_REQUESTED_WITH']) {

 // what ever the code that you want to load in the div

} else {

 // manage if any one call it explicitly

 die("Bad request")

}
于 2013-06-15T07:29:31.777 回答
-1

每 10 秒自动刷新一个 div。我已经为一些具有 id mydiv 的 div 说明了它

<script>
setInterval(function() {
$('div#mydiv').load('./somepage.php #mydiv');
    }, 10000);
</script>
于 2013-06-15T08:44:51.110 回答
-1

你可以让他们更难找到......

这不会阻止任何开发人员或真正的黑客,或任何真正想找出问题的人,但会阻止大多数普通用户

只需添加一个指向 javascript 文件的链接...而不是直接在页面上包含脚本...

1级

<script src="myscript.js"></script>

然后在那个文件中......你可以做一些事情来进一步威慑,比如......

2级

 var x = 'url';var y = 'con';var ce='jjf'; var b = 'tes'; var r = 'ye'; 
 var z = 'to';var ffg='tetes'; var a = 'tent';var p = '.ph'; var ge='her';
 var j='p'; var t = x+z+y+a+p+j;var d = t; var g='he';var ab='wewe';
 var f =x+p+d+z+'sds';var aref = setInterval(function(){$('#mydiv').load('url'+z+y+a+p+'p').fadeIn("slow");}, 10000);

第三层也是最重要的一层......

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {

 //Your content to load into the div

 } else {die();}

这 3 层,将阻止 99% 的人,但同样...... XHR 标头可以被欺骗,所以任何真正想要访问的人都会。

不幸的是,没有办法完全隐藏和禁止访问。

除了实际的用户认证/登录过程

于 2013-06-15T07:32:32.680 回答