php system命令在网页和命令行上执行结果不一致
linux
nbsp
rpm
php system命令在网页和命令行下执行结果不一致
大家好,现在我有一个文件a.php.内容是:
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $str = " /opt/rpm/bin/rpm -bb --target i686--linux /tmp/test.spec"; system($str); ?>
登入後複製
当我用http://192.168.1.1/a.php 执行的时候结果显示:
- HTML code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Building target platforms: i686--linux Building for target i686--linux Processing files: VTCUAL06.06C.P010-R1.0-P1
登入後複製
当我在命令行下用/usr/local/php a.php 执行的时候,结果显示:
- HTML code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> Building target platforms: i686--linux Building for target i686--linux Processing files: VTCUAL06.06C.P010-R1.0-P1 Finding Provides: (using /opt/rpm/lib/rpm/find-provides)... Finding Requires: (using /opt/rpm/lib/rpm/find-requires)... Wrote: /export/home/webadm/.rpm/RPMS/i686/VTCUA
登入後複製
也就是说在http访问模式下有三行没有显示出来:
- HTML code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> Finding Provides: (using /opt/rpm/lib/rpm/find-provides)... Finding Requires: (using /opt/rpm/lib/rpm/find-requires)... Wrote: /export/home/webadm/.rpm/RPMS/i686/VTCUA
登入後複製
有人知道是什么原因吗?谢谢了!!
------解决方案--------------------
这个问题好奇怪~~~~
有牛人知道吗?
------解决方案--------------------
一点不奇怪,执行用户不同而已。命令行执行的是root,网页执行的是apache用户。
google了一下,说apache带--enable-suexec编译就可以,但是没试过。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
这是不可能的。
------解决方案--------------------
看看以 php 命令行方式执行你的程序的结果
------解决方案--------------------
噢,没注意
这显然是用于权限的问题了
web 方式下的 php 只是匿名用户,只有最低的权限
话说回来,如果什么都可以通过浏览器去操控,那么系统哪有安全性可言
想当初微软为了提供便利的数据查询,给 mssql2000 附加了 url 查询功能
结果不就被人利用,而成了臭名昭著的 SQL攻击
------解决方案--------------------
都说了是权限问题,你加了sudo了没,结果怎样?
------解决方案--------------------
应该有的,如果没有你wget下载安装一个。
------解决方案--------------------
后面没有输出我怀疑可能出错了,你试试看一下代码,然后告诉我结果。
function my_exec($cmd, $input='')
{$proc=proc_open($cmd, array(0=>array('pipe', 'r'), 1=>array('pipe', 'w'), 2=>array('pipe', 'w')), $pipes);
fwrite($pipes[0], $input);fclose($pipes[0]);
$stdout=stream_get_contents($pipes[1]);fclose($pipes[1]);
$stderr=stream_get_contents($pipes[2]);fclose($pipes[2]);
$rtn=proc_close($proc);
return array('stdout'=>$stdout,
'stderr'=>$stderr,
'return'=>$rtn
);
}
$str = " /opt/rpm/bin/rpm -bb --target i686--linux /tmp/test.spec";
var_export(my_exec($str));
------解决方案--------------------
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)