Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php文件输出javascript作为JS文件包含-需要限制,使其不会在浏览器窗口中打开_Php_Javascript_.htaccess - Fatal编程技术网

Php文件输出javascript作为JS文件包含-需要限制,使其不会在浏览器窗口中打开

Php文件输出javascript作为JS文件包含-需要限制,使其不会在浏览器窗口中打开,php,javascript,.htaccess,Php,Javascript,.htaccess,我将配置细节存储在一个数据库中,我需要在javascript中使用该数据库。我使用php访问所有这些内容,而不是将所有细节输出到主页上的内联javascript代码中,而是创建了一个php文件,输出内容类型javascript,并将其作为外部javascript文件引用到主页中 我想将其设置为无法在浏览器窗口中查看,即: <script type="text/javascript" src="phpFileThatDoesJS.php" ></script> 应该可

我将配置细节存储在一个数据库中,我需要在javascript中使用该数据库。我使用php访问所有这些内容,而不是将所有细节输出到主页上的内联javascript代码中,而是创建了一个php文件,输出内容类型javascript,并将其作为外部javascript文件引用到主页中

我想将其设置为无法在浏览器窗口中查看,即:

<script type="text/javascript" src="phpFileThatDoesJS.php" ></script>

应该可以,但在浏览器中键入
www.mysite.com/phpfilethattoesjs.php
不应该

编辑==========

问题是我必须编辑一个脚本,出于某种奇怪的原因,它将用户的用户名和密码存储在javascript对象中,并在脚本标记中输出。我必须对其进行设置,使其不可通过简单的查看源操作查看。这就是为什么我想到将其作为外部javascript引用


有什么htaccess技巧可以使用吗?

我知道的唯一方法是检查页眉,这是不可靠的。除此之外,通过
标记请求资源的浏览器和直接浏览资源的用户之间没有区别

此外,您确实意识到用户仍然能够查看/访问源代码

--回答您的最新问题------

没有。如果将其发送到浏览器,最终用户可以访问它

--进一步回答你的最新问题-----

我真的想知道为什么你想用Javascript存储用户的用户名/密码。这是您计划在将Javascript发送到远程站点时实际使用的东西吗?还是您计划通过表单或Ajax风格的请求发送回服务器


如果您计划将其发送回服务器,为什么不使用会话变量?

在输出开始之前,您是否在php文件中将内容类型指定为
application/javascript

--更新 如果您使用的是js,那么它对用户是可见的。您不能隐藏js脚本中的内容

关于htaccess,您可以使用.htaccess将.php更改为.js

试一试

然后你可以像这样调用同一个文件

http://yoursite.com/externaljs.js and the externaljs.php will be executed

试图隐藏这样的JS文件听起来不可能/不切实际。我会问你,你需要通过JS存储和访问哪些配置细节,而这些细节在上述javascript调用的PHP中是无法完成的。忘记向用户隐藏你推给用户的东西:-)Ali-问题不在于用户查看javascript。从理论上讲,您可以使用一个web浏览器来永久隐藏javascript,但这并不限制用户尝试其他工具,例如嗅探网络。说到安全性,有一个大家都同意的主要策略:永远不要信任用户。嗯,使用HTTP Referer头有什么好处?它们并不总是被发送的。我知道一个事实,诺顿互联网安全套件的版本禁止发送HTTP引用作为“安全预防措施”。此外,它们非常容易伪造。如果不发送referer标头,则阻止访问将导致某些用户一直阻止脚本(包括将其作为页面的一部分加载时)。它不会阻止人们加载页面,然后在Firebug中查看脚本,或者使用Charles Proxy获取副本,或者半打其他方法。Dang,这不是为了限制javascript代码的显示吗?实际上,它甚至不是我的代码,我必须为从web上购买此应用程序的客户编辑它。每当他登录时——由于某种原因,页面会将他的登录详细信息存储在页面本身上。要添加到Anush的回答中,请使用标题('Content-Disposition:attachment;filename=“something.js”)@CaroeBictumDC实际上内容配置不是必需的,它只确保如果你直接提供链接,它将被要求保存,而不是作为js文件打开。实际上这很好,但我希望能够限制用户查看javascript代码。。。
RewriteEngine on
RewriteBase  /
RewriteRule externaljs.js$ externaljs.php$1 [L]
http://yoursite.com/externaljs.js and the externaljs.php will be executed