启动进程,隐藏ps中的参数

dot*_*hen 5 php python security

我有一个与API接口的Python脚本.该脚本从PHP页面启动.我编写了两个脚本,因此我可以根据需要更改代码.

Python脚本需要用户名和密码才能与API进行交互.我的第一个倾向是将它们作为CLI参数传递给Python:

<?php
exec('python someScript.py AzureDiamond hunter2');
?>
Run Code Online (Sandbox Code Playgroud)

但是,任何人都可以通过ps以下方式查看凭据:

$ ps | grep someScript
1000     23295  2.0  0.2 116852  9252 pts/0    S+   15:47   0:00 python someScript.py AzureDiamond hunter2
Run Code Online (Sandbox Code Playgroud)

我正在考虑的替代方法是将数据写入文本文件或sqlite数据库,然后删除它们.还有更好的想法吗?使用sqlite方法的一个约束是,它需要以相当便携的方式运行(phpFox插件),并且大多数预算的webhost都不支持该sqlite3模块.

Ber*_*ard 2

您可以使用在 PHP 中设置并在 Python 脚本中读取的环境变量。

  • 部分答案:对于以同一用户身份运行的其他进程来说并不安全:它们可以读取 /proc/$PID/environ。 (3认同)