1 回答
TA贡献1813条经验 获得超2个赞
好的,所以你使用$_POST没有键的超级全局数组,所以如果你没有为 jQuery 中的数据提供键 = 值,$_POST 将无法在没有表单编码的键 = 值的情况下工作。
例如 key=value&key2=value2
因此,如果您不这样做,则需要阅读原始php://input流file_get_contents("php://input");
另一种选择是更改var ufname= $(this).val();为var ufname= {val:$(this).val()};和
$sSQL .= " WHERE mapa_produtividade_uf = '".addslashes(strip_tags($_POST[]))."'";
到
$sSQL .= " WHERE mapa_produtividade_uf = '".addslashes(strip_tags($_POST['val']))."'";
此外,addslashes不是将字符串转义到 SQL 中的有效方法,使用绑定参数或至少内置模块转义器,请阅读:http : //shiflett.org/blog/2006/addslashes-versus-mysql -real-escape-string
我的意思是我可以通过 Web Inspector 控制台在您的页面上使用 jQuery 并运行
(function(){
$.post({
url: "http://192.168.64.2/monsoy/site/variedades/resultados-de-produtividade/estado-variedade",
type: "POST",
data: "�' OR 1 = 1 /*",
success: function(data) {
console.log(data)
},
error: function(e) {
console.log(e);
}
});
})(jQuery);
我发送的那个字符串在 php 中 chr(0xbf).chr(0x27).' OR 1=1 /*';
- 1 回答
- 0 关注
- 153 浏览
添加回答
举报