如何保护WordPress上的脚本执行?

时间:2021-04-26 作者:churros

最近,我创建了一个脚本来更新Wordpress数据库中的记录。我基本上使用wpdb 要连接到另一个数据库,请绘制一些记录并更新Wordpress数据库。仅使用Wordpress,我找到的初始解决方案是将所有代码放在自定义模板上。因此,当我访问给定的URL时,就会发生更新。

这个自定义模板自己完成所有操作,我甚至不给它传递任何参数。我只需要运行/访问URL。

问题是,我不希望任何人都可以访问此脚本,但同时,我需要在预定的cron作业上运行它。那么,保护此脚本的更好方法是什么?有人能帮我吗?

1 个回复
SO网友:birgire

本地Linux Cron作业(精确计时)的一种方法(避免PHP超时)是创建WP-CLIcommand不在浏览器中运行),例如:

<?php /* Plugin Name: WP-CLI Foo */

function foo_command( $args ) {
    // Adjust to your needs ...
    WP_CLI::success( $args[0] );
}

WP_CLI::add_command( \'foo\', \'foo_command\' );
相应的命令行可能如下所示:

wp --path=/full/path/to/wp-config.php foo bar
在哪里foo 是命令和bar 是论点。

也可以使用WordPress自己的Cron API 还有ways 如果需要Precise运行时,可以通过url将其与外部cron作业同步。

还有cron command WP-CLI的。

相关推荐

如何将WordPress$wpdb中的数据放入Reaction Gutenberg BLOCKS前端?

我使用$wpdb进行mysql查询,并从php文件中获取数据。$results = $wpdb->get_results("SELECT * FROM table_name"); 现在,我已经向wordpress api注册了一个Gutenberg块。。组件是。js文件,在引擎盖下使用(Wordpress React):import { registerBlockType } from "@wordpress/blocks"; import