为了账号安全,请及时绑定邮箱和手机立即绑定

用PHP调用Python

用PHP调用Python

拉风的咖菲猫 2019-08-30 15:02:17
我有一个我最近编写的Python脚本,我使用命令行调用了一些选项。我现在想要一个非常瘦的Web界面来在我的Mac上本地调用此脚本。我不想经历在我的Mac上安装mod_python或mod_wsgi的小麻烦,所以我只是从PHP做一个system()或popen()来调用Python脚本。有更好的想法吗?提前致谢!
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

根据您的工作,system()或popen()可能是完美的。如果Python脚本没有输出,或者您希望Python脚本的输出直接进入浏览器,请使用system()。如果要将数据写入Python脚本的标准输入,或者从Python脚本的标准输出中读取数据,请使用popen()。popen()只会让你读或写,但不能同时读和写。如果你想要两者,请查看proc_open(),但是在程序之间进行双向通信时,需要注意避免死锁,每个程序都在等待另一个程序执行某些操作。


如果要将用户提供的数据传递给Python脚本,那么最重要的是注入命令。如果您不小心,您的用户可能会向您发送“; evilcommand;”等数据 并使你的程序违背你的意愿执行任意命令。


escapeshellarg()和escapeshellcmd()可以帮助解决这个问题,但我个人希望删除所有不是已知好角色的东西,使用像


preg_replace('/[^a-zA-Z0-9]/', '', $str)


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 1200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信