2013-03-11 48 views
-1

我有两个选择来存储我的HTML字符串:magic_quotes_gpc的VS的stripslashes

  1. 关闭magic_quotes_gpc并保存它直接使用PDO。
  2. 开启magic_quotes_gpc并让我的html字符串使用PDO以斜线存储。那么,通过使用函数来转换那些斜线stripslashes();

我需要知道这两个选择的优缺点,以及您推荐哪一个?我猜测第一选择存在安全威胁。并用第二种选择加载服务器,但我需要知道专家说什么。

回答

5

Magic Quotes are deprecated。不要使用它们。改为使用PDO和prepared statement

作为一个便笺,你不应该打电话给专家在这种情况下。如果官方的PHP文档在一个大红色框中说不要使用这个功能,那么就没有问题要问了。

enter image description here

+0

所以从这..没有安全威胁如果我禁用magic_quotes?我正在运行5.3.9,并且魔术引号已打开! – shnisaka 2013-03-11 19:32:10

+2

@shnisaka'magic_quotes'已被弃用,因为它们给人一种安全的错误印象。您不应该依赖此功能,并且如果您使用PDO或MySQLi扩展和准备语句,您将会安全**。 – Tchoupi 2013-03-11 19:34:19

+0

我会依靠你的答案。感谢您的信息。 – shnisaka 2013-03-11 20:18:24

2

我做的是使用PDO这样的:

$stmt = $db->prepare('INSERT INTO table (firstname, lastname) VALUES (:firstname,:lastname)'); 
$stmt->bindParam(':firstname', $firstname, PDO::PARAM_STR); 
$stmt->bindParam(':lastname', $lastname, PDO::PARAM_STR); 
$stmt->execute(); 

希望它能帮助。

相关问题