我如何检查这是否是难以理解的?
function clean($str){ return mysql_real_escape_string(stripcslashes(strip_tags(htmlspecialchars($str)))); } if($_POST['submit']) { $sql = "INSERT INTO comments(blog_id, dateposted, name, comment) VALUES (" . clean($validentry) . " , NOW() , '" . clean($_POST['name']) . "' , '" . clean($_POST['comment']) . "' );"; mysql_query($sql);
Pekka suppor.. 5
您需要检查blog_id
使用is_int()
- 因为它没有用引号括起来,mysql_real_escape_string()
将无法清理它.这显然是一个漏洞.
除此之外,您的代码看起来很安全,但它会进行一些不必要的卫生.
mysql_real_escape_string()
对于name
和comment
田野来说已经足够了.
在该星座中没有必要进行其他调用; 要么strip_tags
或htmlspecialchars()
将要做的是防止XSS攻击.但是,更好的做法是将不安全的原始HTML存储在数据库中,并在输出时对其进行清理.
stripcslashes
你可以完全摆脱这个电话.
您需要检查blog_id
使用is_int()
- 因为它没有用引号括起来,mysql_real_escape_string()
将无法清理它.这显然是一个漏洞.
除此之外,您的代码看起来很安全,但它会进行一些不必要的卫生.
mysql_real_escape_string()
对于name
和comment
田野来说已经足够了.
在该星座中没有必要进行其他调用; 要么strip_tags
或htmlspecialchars()
将要做的是防止XSS攻击.但是,更好的做法是将不安全的原始HTML存储在数据库中,并在输出时对其进行清理.
stripcslashes
你可以完全摆脱这个电话.