我是cron jobs的新手,不确定这是否有效.

出于安全目的,我考虑制作一个单页脚本,查找特定的GET值(用户名、密码和安全代码),以确保只有计算机和所有3个都知道的人才能运行该命令.

我制作了这个脚本,它可以在浏览器中运行,但是可以用GET值运行cron作业(job)吗?

比如我 run

* 3 * * * /path_to_script/cronjob.php?username=test&password=test&code=1234

这可能吗?

推荐答案

$_GET[]&;$_POST[]关联数组只有在通过web服务器调用脚本时才会初始化.当通过命令行调用时,参数在$argv数组中传递,就像C一样.

包含一个数组,其中包含在

你的命令是:

* 3 * * * /path_to_script/cronjob.php username=test password=test code=1234 

然后使用parse_str()设置和访问参数:

<?php

var_dump($argv);

/*
array(4) {
  [0]=>
  string(27) "/path_to_script/cronjob.php"
  [1]=>
  string(13) "username=test"
  [2]=>
  string(13) "password=test"
  [3]=>
  string(9) "code=1234"
}
*/

parse_str($argv[3], $params);

echo $params['code']; // 1234

Linux相关问答推荐

排除最大FIFO大小故障

Arch_prctl的用例是什么

加载ELF64头文件为什么会导致分段错误?

使用sed命令将记录中的字符串替换为DD-MMM-YYYY日期格式

如何使用netcat为DPDK实例提供输入?

Linux 如何使用 PCID 的值?

当 skylake 有 fsgsbase 时,为什么使用 __builtin_ia32_wrfsbase64 会收到非法指令?

如何构建在 Android 上运行的本机(命令行)可执行文件?

bash 中的sed命令

按主机名的 IPv6 地址

如何告诉 valgrind 对Forking 进程进行 memcheck?

SVN 错误:无法将字符串从本机编码转换为UTF-8

如何查看安装的 pip 包大小?

从核心转储中获取堆栈跟踪

docker compose:加载共享库时出错:libz.so.1:无法从共享对象映射段:不允许操作

如何将路径名中的..转换为 bash 脚本中的绝对名称?

Python日志(log)记录 - 判断日志(log)文件的位置?

如何从 Linux 内核模块的 init_module 代码创建设备 node ?

仅当文件存在于 shell 脚本中时才移动

如何用逗号而不是空格分割列表