我正在为Wordpress编写一个插件,我有自己的自定义表来存储从远程API中提取的相关数据.我需要存储的一个元素是URL,它是我数据库中的TEXT字段.由于我已经看到很多评论说不要在Wordpress插件中使用标准的mysql_或mysql...
我正在为Wordpress编写一个插件,我有自己的自定义表来存储从远程API中提取的相关数据.我需要存储的一个元素是URL,它是我数据库中的TEXT字段.
由于我已经看到很多评论说不要在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;
}
解决方法:
通常,您只需在数据库中按原样插入URL,并在呈现时仅考虑安全问题.当然,这假设你正在做的事情就像你在这里你已明确调用插入函数,其中数据作为关联数组发送.
真正的风险是人们绕过WPDB并直接插入内容,而且通常使用字符串连接很糟糕.
显示这些值时应调用esc_url.由于您可能会不时更改允许的URL,限制它们或在需求发生变化时将其打开,因此最好将它们保留在数据库中,并根据具体情况进行准备.
本文标题为:php – 清理正在插入WordPress MySQL数据库的URL
- PbootCMS伪静态配置教程以及各web容器配置规则 2023-07-08
- 织梦采集标题不完整的解决方法,修改标题长度 2022-07-14
- PbootCMS网站标题描述等标签限制字数的办法 2023-07-08
- dedecms织梦列表页标题增加页码的方法 2022-07-22
- pbootcms文章插入图片不固定宽高的办法 2023-07-08
- 织梦dedecms点击数统计控制(刷新页面不新增点击数) 2022-07-20
- 怎么安装使用PbootCMS网站模板 2023-07-08
- 织梦dedecms最全的清除文档的sql语句 2022-06-24
- pbootcms去除ueditor编辑器图片自动添加的title和alt属性 2023-07-08
- 织梦DedeCMS如何实现文章列表隔行换色变样式 2023-07-08