我正在使用我的JS文件,我现在拥有的是带有JS头的独特php文件,如果设置了变量,它包含真正的js文件,这很好。
“home”页面包含php-js文件的脚本标记:
<head>
<script type="text/javascript" language="javascript" src="bootstrap.php"></script>
</head>
bottstrap.php文件类似于:
if(isset($hostData) && !empty($hostData)) {
include('bootstrap.js');
}else {
echo "document.write('<center><bold>PLEASE DO SOMETHING...!</bold></center>');";
}
所有看起来都很好,但是当查看源代码(CTRL + U)时,浏览器将“bootstrap.php”部分显示为链接,如果点击它显然会重定向到http://mydomain/bootstrap.php和js代码很容易看到,这正是我不想要的......
所以我的问题是,是否有任何php方式知道文件是从浏览器的“渲染视图”加载还是从浏览器的“源代码视图”加载???
真正感谢任何帮助=)
答案 0 :(得分:1)
并且可以很容易地看到js代码,这正是我不想要的......
您不希望看到JS,但您确实想要使用它吗???
如果你想在你的页面中使用js文件,你的代码有问题。
您需要包含/要求文件:
<script type="text/javascript" language="javascript" src="<?php include bootstrap.php ?>"></script>
否则浏览器将加载引导程序文件的内容,但您希望在其中运行代码(只能在服务器上完成)。
此外:
变化:
include('bootstrap.js');
到
echo bootstrap.js;
修改强>
重新阅读你想要的问题(以及其他答案):让你的JS代码不可见(如果错误,请纠正我)。
答案是:不能做到。
您可以尝试对代码进行模糊处理,但需要有人想要查看代码才能“解码”。
答案 1 :(得分:1)
简而言之,没有。您无法向用户隐藏脚本来源。您可以做的最好的事情是使用YUICompressor等工具对其进行模糊处理。
答案 2 :(得分:1)
你无法隐藏javascript代码。它需要由客户端执行,即使你试图通过严格格式化代码来隐藏它,像firebug这样的工具也可以轻松地内省代码并提取代码。
答案 3 :(得分:1)
说实话,我认为你实际上并不能像那样隐藏它。我假设你要做的最好的事情是useragent字符串,但我假设如果你在浏览器中“查看源代码”,它仍会发送常规标题。
我能想到添加JS的唯一方法是在视图源模式下不显示它是通过javascript实际加载外部文件(你甚至可以将js文件的路径分解为变量,所以它不是真的人类可读的,我不建议。
如果有人想要使用你的javascript,他们就没有办法避免它。
答案 4 :(得分:0)
尝试使用$_SERVER["HTTP_referer"]
,其中包含调用此文件的网址。
答案 5 :(得分:0)
我很遗憾从这里消失...... 我决定实现的最佳解决方案非常简单:不要在JS代码中显示任何URL或PHP文件;所以在过去的几个月里,我使用了一个独特的PHP文件来完成所有必要的数据库查询,一个存储过程动态生成JS所需的所有URL。 通过这种方式,URL每次都会变化,我称之为“差逻辑”的用户可以免费查看/复制我不介意服务器数据是安全的。
感谢所有有价值的答案!!!