私は自分のカスタムテーブルを持っていて、リモートAPIから関連データを取得するためのプラグインをWordpress用に作成しています。私が格納する必要がある要素の1つは、データベース内のTEXTフィールドであるURLです。WordPressのMySQLデータベースにURLをサニタイズする
Wordpressプラグインで標準mysql_
またはmysqli_
の機能を使用しないと言った数多くのコメントがありますので、挿入する前に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の答えです。また、http://php.net/manual/en/function.filter-var.phpとFILTER_VALIDATE_URLフィルタ – Vamsi