与其说是一种编程语言......我正在构建一个包含许多 jQuery Ajax 调用的网站,不仅仅是为了加载数据,还为了在我的网站中执行许多操作,包括管理员特定的操作,例如将组归属于用户,阻止用户访问, ETC...
我不通过 js 进行任何用户验证,我的 ajax 请求由 PHP 处理,因此对于所有这些管理操作,我首先确保用户实际上是管理员(我为此检查会话/数据库信息),我认为这是正确的方法,但有一件事一直困扰着我......
考虑一下,我的 admin.php 引用了一个包含所有这些 Ajax 调用的外部 .js 文件,普通用户无权访问管理页面,但他们可以很好地导航到我的 js 文件夹并查看我的 admin.php AJAX 脚本,这些脚本当然在参数中包含敏感信息,例如 URL、类型 (POST/GET)。我相信(在一定程度上,安全性很重要)我的 PHP 代码可以保护我的应用程序,但它仍然有点……磨我的齿轮……人们知道我的 URL 和我进行的调用类型。
也许我只是偏执,如果我的代码是安全的,我为什么要关心人们是否看到这些信息?(尽管在 Web 开发中将某些东西声明为 SAFE 应该是“自大”的定义),无论哪种方式,这都是我认为的:
- 不在我的管理页面上使用外部文件,但它使事情组织得不太好......我喜欢将 HTML 与 JS/PHP/等分开
- 某种.htaccess-fu?拒绝访问我的 js 文件夹最终会破坏功能,所以也许有人有更好的主意?
- 压缩我的 js 文件(使用http://jscompress.com/或类似文件)并不是真正的解决方案,但它使事情更难阅读
对此的任何输入都会很棒。