
27.12.2011, 21:37
|
|
Познающий
Регистрация: 03.03.2011
Сообщений: 51
С нами:
7997366
Репутация:
0
|
|
Уважаемые гуру,
Есть код, где _GET, _POST и _COOKIE "фильтруются" так:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]security[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]security[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]security[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"]);
[/COLOR][/COLOR]
Функция сукурити:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]security[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"])
{
if ([/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"])) {
[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]array_map[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'security'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]);
}else{
if(![/COLOR][COLOR="#0000BB"]get_magic_quotes_gpc[/COLOR][COLOR="#007700"]()) {
[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]htmlspecialchars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]ENT_QUOTES[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'UTF-8'[/COLOR][COLOR="#007700"]);
}else{
[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]htmlspecialchars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]stripslashes[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]ENT_QUOTES[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'UTF-8'[/COLOR][COLOR="#007700"]);
}
[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"\\"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"\\\\"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]);
}
return[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
htmlspecialchars() и stripslashes() не выход жэ, чтобы защититься от SQLi ? Можно ли эксплуатировать?
Еще интересна функция array_map(), кажется мне, пахнет код экзекушн, не ?
|
|
|