PHP安全编程小记

1,防范SQL注入,HTML中JS脚本注入

原则:不要相信对于客户端提交的值,必须经过安全处理后才可以使用。比如:

$variable = $_POST['user_input'];
$variable = mysql_real_escape_string($variable);
$variable = stripslashes($variable);
$variable = htmlentities($variable); //比如会将 <b>hi</b>转化为&lt;b&gt;hi&lt;/b&gt
$variable = strip_tags($variable);//还可以去掉HTML标签

通常的做法是:

function sanitizeString($var)
{
$var = stripslashes($var);
$var = htmlentities($var);
$var = strip_tags($var);
return $var;
}

 

function sanitizeMySQL($var)
{
$var = mysql_real_escape_string($var);
$var = sanitizeString($var);
return $var;
}

3,防范MD5密码暴力攻击

许多网站数据库被攻破后,其所存储的MD5值会被用来作为对其它网站进行密码猜测暴力攻击,因此我们需要构造不同于其他网站的MD5值,即使同一个用户使用相同密码,那么在这里的MD5值要与其在其他网站上所存储的不一致,这时可用Salting技术,比如:
令salt=”he$&*sdf123”  passmd5=md5(“$salt” . “$password”);

你可能感兴趣的:(PHP)