gpt4 book ai didi

javascript - 仅在显示源代码时更改 js 文件位置

转载 作者:行者123 更新时间:2023-11-27 23:49:37 24 4
gpt4 key购买 nike

当访问者显示源代码时,我试图更改 js 文件位置 ,取决于:

javascript functions don't work when the visitor shows the source-code .

我的想法是创建一个文件,放入一个javascript代码来删除该文件,在这种情况下,如果有人显示源代码,该文件将不会被删除:

$check="$ip-$views-$id";
fopen("$check.txt","w"); //CREATING A FILE
// DELETING THE FILE ABOVE BY JAVASCRIPT , IT WON'T BE DELETED IF SOMEONE ENTERED VIA THE SOURCE-CODE MODE
?>
<div id="countno"></div>
<script type="text/javascript">
$('#countno').load('del.php?name=<?echo $check;?>&location=' + ' #countno');
</script>
<?

if (file_exists("$check.txt")) { //IF SOMEONE SHOWED THE SOURCE CODE
$new_location="fake_location.js";
}
else{
$new_location=$old_location;
}
?>
<script src="<?echo $new_location;?>"></script>

现在的问题是 file_exists php 函数显示该文件仍然存在,即使它已被 javascript 代码删除。

the file_exists function was executed before the javascript code !

有任何帮助/解决方案可以让 php 函数在 javascript 代码之后检查文件吗?我知道这有点不可能,但值得!

最佳答案

你所描述的情况是不可能的。 是服务器端语言,而 是一种客户端语言。因此,页面上的 PHP 始终会在页面上的 Javascript 执行之前执行。当你采用这种方式时,没有办法让你的 Javascript 首先执行。

相反,您可以做的是将 PHP 和 Javascript 分开。让您的 file_exists checkin 另一个页面。例如check.php.

if (file_exists("$check.txt")) {
echo "fake_location.js";
} else {
echo $old_location;
}

然后使用 ajax 调用向 check.php 发出请求,并根据 check.php 的输出加载其他脚本。

<script>
$.ajax({
method: "GET",
url: "check.php"
})
.done(function(script) {
$("#check").attr("src", script);
});
</script>

<script id="check"></script>

但是,如果您的目标是防止人们找出您的 javascript 所在位置,则这是不可能的。现在大多数浏览器都可以在 HTML 发生变化时对其进行检查。他们可以看到加载的脚本,而无需单独加载源。

关于javascript - 仅在显示源代码时更改 js 文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32834524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com