Jump to content

Attack Prevention


tracy

Recommended Posts

[code=php:0]
function quote_smart($value) {
  // Stripslashes
  if (get_magic_quotes_gpc()) {
      $value = stripslashes($value);
  }
  // Quote if not a number or a numeric string
  if (!is_numeric($value)) {
      $value = "'" . mysql_real_escape_string($value) . "'";
  }
  return $value;
}
[/code]

taken from http://www.php.net/mysql_real_escape_string
Link to comment
https://forums.phpfreaks.com/topic/29590-attack-prevention/#findComment-135793
Share on other sites

I wouldn't recommend addslashes.  If your DB charset is set to GBK multi-byte, one could still inject your script like so:

addslashes would change 0xbf27 to 0xbf5c27, which is a valid multi-byte character followed by a single quote

[url=http://www.phpfever.com/php-security-sql-injection-overview.html]http://www.phpfever.com/php-security-sql-injection-overview.html[/url]
Link to comment
https://forums.phpfreaks.com/topic/29590-attack-prevention/#findComment-135872
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.