我有两个选择来存储我的HTML字符串:magic_quotes_gpc的VS的stripslashes
- 关闭
magic_quotes_gpc
并保存它直接使用PDO。 - 开启
magic_quotes_gpc
并让我的html字符串使用PDO以斜线存储。那么,通过使用函数来转换那些斜线stripslashes();
我需要知道这两个选择的优缺点,以及您推荐哪一个?我猜测第一选择存在安全威胁。并用第二种选择加载服务器,但我需要知道专家说什么。
我有两个选择来存储我的HTML字符串:magic_quotes_gpc的VS的stripslashes
magic_quotes_gpc
并保存它直接使用PDO。magic_quotes_gpc
并让我的html字符串使用PDO以斜线存储。那么,通过使用函数来转换那些斜线stripslashes();
我需要知道这两个选择的优缺点,以及您推荐哪一个?我猜测第一选择存在安全威胁。并用第二种选择加载服务器,但我需要知道专家说什么。
Magic Quotes are deprecated。不要使用它们。改为使用PDO和prepared statement。
作为一个便笺,你不应该打电话给专家在这种情况下。如果官方的PHP文档在一个大红色框中说不要使用这个功能,那么就没有问题要问了。
我做的是使用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();
希望它能帮助。
所以从这..没有安全威胁如果我禁用magic_quotes?我正在运行5.3.9,并且魔术引号已打开! – shnisaka 2013-03-11 19:32:10
@shnisaka'magic_quotes'已被弃用,因为它们给人一种安全的错误印象。您不应该依赖此功能,并且如果您使用PDO或MySQLi扩展和准备语句,您将会安全**。 – Tchoupi 2013-03-11 19:34:19
我会依靠你的答案。感谢您的信息。 – shnisaka 2013-03-11 20:18:24