【发布时间】:2017-12-24 03:37:57
【问题描述】:
我正在为 Wordpress 编写一个插件,其中我有自己的自定义表来存储从远程 API 中提取的相关数据。我需要存储的元素之一是 URL,它是我数据库中的 TEXT 字段。
由于我看到很多 cmets 说不要在 Wordpress 插件中使用标准的 mysql_ 或 mysqli_ 函数,我想知道在插入 URL 之前转义 URL 的最佳方法是什么?使用esc_url() 是否足够了,或者我还需要做什么?
case "Create":
{
$tag = $_POST['product_tag'];
$name = $_POST['product_name'];
$asin = $_POST['product_id'];
$response = getPrice("com", $asin);
$result = $wpdb->insert( $table_name, array(
'tag' => $tag,
'name' => $name,
'asin' => $asin,
'price' => $response['price'],
'url' => esc_url($response['url'])
));
if ($result !== FALSE)
echo "Successfully inserted new Amazon Product.";
else
echo "An Error occurred.";
break;
}
【问题讨论】:
-
+1 @tadmsn 的回答。另请查看php.net/manual/en/function.filter-var.php 和 FILTER_VALIDATE_URL 过滤器
标签: php mysql wordpress sanitization mysql-real-escape-string