PHP 用于预翻SQL inj和XSS的基本脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 用于预翻SQL inj和XSS的基本脚本相关的知识,希望对你有一定的参考价值。

function filterInput(&$input)
{
	$_SERVER['GPC_STATUS'] = get_magic_quotes_gpc(); // We do not want to call get_magic_quotes_gpc() function for each element of array
	array_walk_recursive($input, 'sanitizeIt'); // Sanitize each element of array
}

function sanitizeIt(&$str)
{
	if($_SERVER['GPC_STATUS']) // Just check variable
		$str = stripslashes($str);

	$str = htmlspecialchars(rawurldecode(trim($str)), ENT_QUOTES, 'UTF-8');
}

/** **** Examples ****

	--- Without sanitize ---
		URL: /index.php?monkey=<foo>'bar\D
		Script:
			print_r($_GET);
		Result:
			Array
			(
				[monkey] => <foo>\'bar\\d
			)
	--- With sanitize ---
		URL: /index.php?monkey=<foo>'bar\D
		Script:
			filterInput($_GET);
			print_r($_GET);
		Result:
			Array
			(
				[monkey] => <foo>'bar\d
			)
**/

以上是关于PHP 用于预翻SQL inj和XSS的基本脚本的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入与XSS跨站脚本的基本原理

如何实现php的安全最大化?怎样避免sql注入漏洞和xss跨站脚本攻击漏洞

php防止sql注入以及xss跨站脚本攻击

如何在 PHP 输出字符串中修复“网页中与脚本相关的 HTML 标签的不正确中和(基本 XSS)”

关于CI xss进攻和sql注入的防范问题

安全漏洞XSS、CSRF、SQL注入以及DDOS攻击