标签 wordpress 下的文章

wordpress的php执行超时 - connect_timeout - nginx - php7.4

问题: debian 11默认安装的nginx和php7.4-fpm,在wordpress扫描经sftp上传的图片导到媒体库时,经常提示Ajax错误。nginx错误日志为:upstream timed out (110: Connection timed out) while reading response header from upstream。

尝试:在站点的php配置内容中,适当加大超时时间,如:

fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_connect_timeout 600;

参考:https://stackoverflow.com/questions/59713432/nginx-php-fpm-fastcgi-upstream-timed-out

用 Xidel 提取出目标网页的数据 然后通过 REST API 发布到 WordPress 站

需求:复制指定网页上某部分的文字,然后以文章的形式发布到wordpress站,采集。

尝试:xidel 这个软件很好地自动分析文件上标签,并导出数据。将导出的数据以参数递给 curl,通过 WordPress 的 REST API 发布文章。

如:

for i in $(seq -w 1000)
do
    caijiurl=https://liujia.anqun.org/index.php/archives/${i}/
    # curl $caijiurl | iconv -f gb2312 > out.html
    wget -O out.html $caijiurl
    title=$(xidel out.html -e "(css('h1'))")
    content=$(xidel out.html -e "(css('div.post-content'))")

    curl --user "admin:apppassword" -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d '{"title":"'$title'","content":"'$content'","type":"post","status":"publish","categories":[25]}' https://wp.anqun.org/wp-json/wp/v2/posts
done

参考:

用find命令查找wordpress上传目录下的php文件

一网友反馈wordpress站点被阿里云提醒有异常的php木马文件。查看网站的错误日志,是有尝试访问uploads目录下php文件的记录。

可以尝试的方法:

1.在站点目录下,执行以下命令删除找出的php文件
find . -path "wp-content/uploads" -name "*.php" -delete

2.在nginx的站点配置文件中,禁止访问uploads目录下的php文件

# Deny access to uploads that aren’t images, videos, music, etc..
location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php|js|swf|css)$ {
    deny all;
}

3.也可以禁止访问wordpress的后台:

location ~ ^/(wp-admin|wp-login.php) {
  include enable-php-72.conf; # php脚本执行
  allow 8.8.8.8; # 仅允许指定的IP访问
  deny all;
}

4.或禁止访问xmlrpc.php文件:

        location = /xmlrpc.php {
            deny all;
            access_log off;
            log_not_found off;
            return 444;
        }

参考:

Debian nginx软件中对https站点的X-Frame-Options默认值为拒绝

感谢董哥。

问题:一个使用flatsome主题的wordpress站点,在使用UX Builder编辑页面内容时,一直在加载(loading)。

过程:

1.在浏览器的控制台里,有显示如“Load denied by X-Frame-Options: https://domain.com/wp-admin/post.php?post=3&action=edit&app=uxbuilder&type=media does not permit framing.” 的出错信息
ux-builder-x-frame-options-deny-1.png

2.查看nginx的站点配置内容,引用了ssl-prarms.conf文件
ux-builder-x-frame-options-deny-2.png

3.在ssl-prarms.conf文件内容中,有设置“add_header X-Frame-Options DENY”
ux-builder-x-frame-options-deny-3.png

4.注释掉“add_header X-Frame-Options DENY”后,重载nginx,再次测试UX Builder,正常
ux-builder-x-frame-options-deny-4.png

参考: