wordpress wp_insert_post 插入数据 不过滤 ed2k magnet 等特殊字符

最近写了wordpress 采集的脚本,但是插入时ed2k magnet等字符被自动过滤了,其实这是wordpress的自动保护体制。具体代码在wp-includes目录内找到post.php,搜索以下内容:

$postarr = sanitize_post($postarr, 'db'); //这行注释掉,就可以了。

但是这样做整体后台就会失去保护了,下面我们提供另外一种方法,在脚本执行插入时添加代码如下:

kses_remove_filters(); //停止过滤字符
$post_ID = wp_insert_post( $my_post);//wordpress自带的插入功能
kses_init_filters();//重新开启过滤字符

注意:此处只要是安全性能的过滤,比如PHP的’单引号等字符。

这样就不会影响整体影响使用啦~

腾讯云云产品双12限时秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】

百度云不止一折优惠【点击购买】

3 Replies to “wordpress wp_insert_post 插入数据 不过滤 ed2k magnet 等特殊字符”

  1. 这三段代码要放到哪里,我放到你说的那个文件当中时,貌似文章页保存的时候都会直接出错造成打不开。

    我放到当前的主题函数当中时,貌似这样的写法也是有问题的,保存不了!

      1. 就是让各种各样的种子链接的头部不会被WP给屏蔽掉……

        你这第一种方法不敢乱用。
        第二种方法貌似有问题~~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注