时间:2021-07-01 10:21:17 帮助过:4人阅读
"dsa<>");
foreach($array as &$value){
$value = htmlspecialchars($value);
}
var_dump($array);
array(1) {
["hello"]=>
&string(11) "dsa<>"
}
------解决方案--------------------
//函数:获取数据
//参数:表单名,是否需要转译
Function Toget($__k,$Slash=True){
IF($__k==""){Return False;}
IF(Array_key_exists($__k,$_REQUEST)){
$Value=IsSet($_POST["".$__k.""])?$_POST["".$__k.""]:$_GET["".$__k.""];
}Else{
Return False;
}
IF(Is_array($Value)){
$Value=Array_Filter($Value,'_nul');
}Else{
$Value=Trim($Value);
IF($Value==""){Return False;}
}
IF($Slash){
$Value=Addlash($Value);
}
//反馈结果
IF(Is_array($Value)){Return $Value;}
IF($Value=="" Or !Isset($Value)){
Return False;
}Else{
Return $Value;
}
}
function Addlash($Str){
!Defined('MAGIC_QUOTES_GPC') && Define('MAGIC_QUOTES_GPC',get_magic_quotes_gpc());
IF(!MAGIC_QUOTES_GPC){
IF(Is_array($Str)){
$keys=array_keys($Str);
Foreach($keys as $key){
$val=$Str[$key];unset($Str[$key]);
$Str[addslashes($key)]=Addlash($val);
}
}Else{
$Str=addslashes($Str);
}
}
Return $Str;
}
//清理数组中的空值
//用法:Print_r (Array_Filter($Arr,'_nul'));
Function _nul($param){
Return ($param!="") ? True : False;
}
------解决方案--------------------
这个得mark一下,继续~
------解决方案--------------------
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。
服务器端脚本防止 XSS 的唯一手段是检查传入的数据中是否有 script 标记
当然,攻击者还有 n 多的手段去直接在你的页面中嵌入恶意代码。这就不是服务器端脚本能解决的问题了
简单的用 htmlspecialchars 处理一下,只适合于其后只将传入的数据作为字符串显示的场合。
由于
对于 #7 的
显然使用的检测算法不是最大匹配算法,而是简单的包含算法
虽无大错,但误判率升高。宁可错杀三千,不可放过一个
------解决方案--------------------