jquery - 这个 jquery 代码安全吗?

标签 jquery security

以下代码安全吗?

$iframe = $('<iframe id="iframe" src="' + $(this).attr('rel') + '" name="iframe">');
$area = $("#ajax-area");
$area.empty().append($iframe);

地点:

  1. $(this) 是点击的链接。
  2. attr('rel') 保存 iframe 的 src,rel 由 PHP 创建(此处无需用户输入)。
  3. 并且 $iframe 包含要上传的表单。

我担心的是,由于在这种情况下 iframe 的 src 是一个变量,我担心恶意用户会以某种方式设法编辑“rel”属性并打开他或她想要的 iframe。这可能吗?

编辑

感谢您的宝贵回答。

php 使用以下内容来填充 rel:

App::basePath . '/some/path/to/my/folder';

其中basePath是开发人员选择的常量。

我会按照你们的建议以更合适的方式重新设计我的jquery。

最佳答案

理论上,如果 rel 属性基于服务器常量,那么除了您无法控制的问题(例如 MiTM)之外,应该不会出现其他安全问题。

但是,您在处理这些事情时应该始终保持安全; jQuery 通过允许将标签的属性作为第二个参数传递给构造函数来提供安全性:

$iframe = $('<iframe />', {
    id: "iframe",
    src=: $(this).attr('rel'),
    name: "iframe"
});

关于jquery - 这个 jquery 代码安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740497/

相关文章:

php - Symfony 2.0 中独立的安全组件

jquery自动搜索水印

Jquery (this)closest 不起作用?

javascript - 使用 jquery 根据元素在父元素中的位置重新排序元素名称

javascript - bootstrap Accordion 折叠,jquery,js,bootstrap

javascript - 使用 jQuery 循环遍历 XML 属性和元素

javascript - 使用 JavaScript 创建 IFRAME 的最佳做法是什么?

security - 使用多种身份验证方法的 ASP.NET Core

java - 钩住容器要求LDAP用户角色的过程

security - Facebook-C#-sdk:v5 安全异常