CSP通过传递PHP变量来转换内联onclick事件

时间:2019-11-28 10:18:55

标签: javascript php html mysql content-security-policy

我使用php从MYSQL生成应用程序列表 然后,当您单击相关行时,它将在一个窗口中打开应用程序,

类似:

import datetime
# Works in python 3.6 as well as 3.7 and newer
value2 = '2012-12-03T07:16:23+0000'
print(datetime.datetime.strptime(value2, '%Y-%m-%dT%H:%M:%S%z'))

# Works only in python 3.7 and newer
value = '2012-12-03T07:16:23+00:00'
print(datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S%z'))

以上内容已被CSP策略阻止,如何使应用程序弹出窗口与CSP一起使用?

我尝试使用以下示例,但由于我的Java语言技能不高且列表是动态生成的,因此无法弄清楚该路径如何通过。

<?php 

$Path = $ApplicationPath

print "<td class='centerTextIncPointer'><img src='../images/printicon.png'onclick='printTheWindow($Path)'/></td>\n";

?>

script.js:

<?php
    $Path = $ApplicationPath

    print "<td class='centerTextIncPointer'><img id='LineId' src='../images/printicon.png'/></td>\n";

  ?>

我们非常感谢您的协助:)

1 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

<img src='../images/printicon.png' data-path="<?php echo $path; ?>" onclick="return !window.open(this.getAttribute('data-path'), 'Google', 'width=500,height=500')"/>