我注意到我的图像弹出代码受到XSS攻击。我理解这个问题,但由于PHP不是我的专业领域,我不知道如何纠正它..我已经在这里做了一些搜索,但仍然不清楚如何修复我的代码。
以下是有问题的代码:
<?php
echo '<a href="javascript:window.close()">' . zen_image($_GET['products_image_large_additional'], $products_values->fields['products_name'] . ' ' . TEXT_CLOSE_WINDOW) . '</a>';
?>
如何更正此代码以更正其中的XSS漏洞?
答案 0 :(得分:0)
您显然是在服务器端获取产品数据
($products_values->fields['products_name']
),为什么不以相同的方式获取图片而不是通过$_GET
?这应该可以解决你的问题。
答案 1 :(得分:0)
我不确定zen_image
期望/做什么,但你可以在将它们传递给函数之前转义GET变量。
<?php
echo '<a href="javascript:window.close()">' . zen_image(strip_tags($_GET['products_image_large_additional']), $products_values->fields['products_name'] . ' ' . TEXT_CLOSE_WINDOW) . '</a>';
?>
我使用函数strip_tags删除任何HTML标记。