douhuanqiao5290 2015-01-21 15:33
浏览 136
已采纳

如果我在php中使用system()函数并且命令包含密码,那么它有多安全?

I have a php script which generates a report. The end user of this report wants it uploaded to a server where they can access it. I have an account with SFTP access to upload files to their server.

One way to do this would be to call

system("lftp -e ... -u user,password sftp://host");

I know that it is usually unsafe to provide a password on the command line, since other users can see command lines with programs like w and ps.

Since this is done from the php process, is this any different or just as unsafe?

Obviously using CURL or another library to do the SFTP connection would be safest and the "right way" to do it. This question is for my education on this particular issue, so I don't need anyone to tell me to use curl instead. The ftp example is just an example.

  • 写回答

1条回答 默认 最新

  • dougua3706 2015-01-23 02:31
    关注

    i can think of 3 potential problems:

    • visible using ps (just as from console)
    • may be (not sure if really is) stored in shell history which means, on hdd (just as from console)
    • if you keep password in your source file instead of keeping it in variable then it's also in VCS (different than from console)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)