php - Javascript 将内联变量传递给外部 : security issue?

标签 php javascript jquery html security

所以我环顾四周试图找到一些关于这个的帖子,有很多但没有一个能解决我的具体问题(我能找到)。

所以基本上我需要从我的数据库中获取一些数据到我的外部 javascript 文档。

我目前正在做的是这样的......

<?php for (loop through products): ?>
    <script>
    var $each_image_information = new Array(
        "<?php echo $getVariable; ?>",
         "<?php echo $getVariable; ?>");
    </script>
<?php endfor ?>

然后我的外部 .js 文件访问变量 $each_image_information。我意识到这是有些困惑的代码,因为这些变量有些全局 - 但我不确定我是否知道可能的(以我的技能)替代方案。

我真正的问题是这是否会给我正在实现它的网站带来任何安全漏洞。由于这些值是从数据库回显到内联 javascript 文件的,因此可以操纵这些变量吗?

这可能是一个愚蠢的问题,但我过去有过 SQL 注入(inject)的经验,当时我不知道这些是可能的,所以我试图在安全方面犯错。

提前致谢!

最佳答案

好的,要理解这个问题,您必须理解 Javascript 是客户端。这意味着任何人都可以对它做任何他们想做的事情,所以“这些变量可以被操纵吗?”的答案。是一个响亮的是!如果您只想下载 Firebug,您可以开始将它们更改为最新的 Google Logo :-)

但是,这些都不重要,因为如果用户可以弄乱他们自己的客户端内容,那就不是安全漏洞。您需要担心的是用户 A 在用户 B 的客户端上收到可怕的代码。只有当用户 A 可以选择这些图像的文件名时,这才是问题,因为这样他们就可以命名他们的图像在此处插入可怕的代码,并且该代码可以在用户 B 的计算机上运行。

但只要您控制图像文件名(或只是转义其中的任何 JS),您就应该一切顺利。

关于php - Javascript 将内联变量传递给外部 : security issue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627733/

相关文章:

javascript - 如何获取文本区域内的文本宽度? (javascript/jquery)

javascript - 在页面上的某个位置停止动画 [jQuery]

jquery - CSS - 类别菜单 - 子类别未正确呈现

php - htaccess,授权使用 index.php 但允许一些文件夹没有任何授权

php - 有很多值的数组

javascript - 显示一个 div 并隐藏其余部分

javascript - 如何在 Javascript 中打开一个选项卡

javascript - 多重选择功能就像组中的 radio 一样

c# - Curl - 获取包含图像和 css 的页面

php - 在 Laravel 中将多个字段输入合并为单个值