前一段时间,我注意到有些人在我的论坛上张贴“图片”,当它们被登录用户查看时,他们强迫他们执行在他们可能不想要的网站上采取行动。有问题的操作通常通过简单的GET请求执行到相关页面。检测(并阻止)隐藏在图像中的GET请求
这已被要求所有不平凡的变化是POST请求修补,但我在想这个问题:
是否有可能在一个浏览器期待一个图像中检测和阻止PHP脚本从如果是这样运行?
我最初的尝试是:
<?php
if(isset($_SERVER['HTTP_ACCEPT']) && $_SERVER['HTTP_ACCEPT'] != ""
&& stripos($_SERVER['HTTP_ACCEPT'],"image/")) die("Insert error message here");
?>
然而,尽管它在IE和Firefox,谷歌Chrome的工作完美(出于某种原因),包括“图像/ PNG”作为其接受头的一部分,导致用户无法加载任何“受保护”的页面。
这么清楚地表明这个想法在理论上是有效的,但实际上它是不可靠的。有没有可靠的方法呢?