php 系统命令执行函数
(转载)
作者:海底苍鹰
地址:http://blog.51yip.com/php/1064.html
1,exec函数
- <?php
- $test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令
- exec($test,$array); //执行命令
- print_r($array);
- ?>
返回结果如下:
- [root@krlcgcms01 shell]# php ./exec.php
- Array
- (
- [0] => 1001.log
- [1] => 10.log
- [2] => 10.tar.gz
- [3] => aaa.tar.gz
- [4] => mytest
- [5] => test1101
- [6] => test1102
- [7] => weblog_2010_09
- )
2,system函数
- <?php
- $test = "ls /tmp/test";
- $last = system($test);
- print "last: $last\n";
- ?>
返回结果:
- [root@krlcgcms01 shell]# php system.php
- 1001.log
- 10.log
- 10.tar.gz
- aaa.tar.gz
- mytest
- test1101
- test1102
- weblog_2010_09
- last:weblog_2010_09
3,passthru函数
- <?php
- $test = "ls /tmp/test";
- passthru($test);
- ?>
4,popen函数
- <?php
- $test = "ls /tmp/test";
- $fp = popen($test,"r"); //popen打一个进程通道
- while (!feof($fp)) { //从通道里面取得东西
- $out = fgets($fp, 4096);
- echo $out; //打印出来
- }
- pclose($fp);
- ?>
5,proc_open函数
- <?php
- $test = "ls /tmp/test";
- $array = array(
- array("pipe","r"), //标准输入
- array("pipe","w"), //标准输出内容
- array("pipe","w") //标准输出错误
- );
- $fp = proc_open($test,$array,$pipes); //打开一个进程通道
- echo stream_get_contents($pipes[1]); //为什么是$pipes[1],因为1是输出内容
- proc_close($fp);
- ?>
6,shell_exec函数
- <?php
- $test = "ls /tmp/test";
- $out = shell_exec($test);
- echo $out;
- ?>
popen,passthru,proc_open,shell_exec的返回结果如下:
- [root@krlcgcms01 shell]# php test.php
- 1001.log
- 10.log
- 10.tar.gz
- aaa.tar.gz
- mytest
- test1101
- test1102
- weblog_2010_09
我能发现的就这几个函数,能执行linux下的命令,我想应当还有吧,欢迎大家补充
php 系统命令执行函数的更多相关文章
- 菜刀(代码执行)函数和命令执行函数详解及Getshell方法
i春秋作家:大家奥斯的哦 原文来自:https://bbs.ichunqiu.com/thread-41471-1-1.html 代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时 ...
- php中代码执行&&命令执行函数
转自i春秋 1.eval()函数 #传入的参数必须为PHP代码,既需要以分号结尾. #命令執行:cmd=system(whoami); #菜刀连接密码:cmd <?php @eval($_POS ...
- php调用系统命令的函数的比较
了解命令的区别并进行直观的选择 这是一篇翻译文章,原作者通过表格的形式更加直观的展现出差异并进行选择 前言 PHP有众多调用系统命令的函数,大致如下: system() exec() passthru ...
- PHP表单处理、会话管理、文件上传、文件处理、执行函数(10.8 第十六天)
表单处理 服务器接收用户发过来的数据方式: $_GET 接收用户以GET方式发过来的数据 $_POST 接收用户以POST方式发过来的数据 $_COOKIE 接收用户COOKIE $_REQUEST ...
- 【随笔】菜刀(代码执行)函数和命令执行函数详解及Getshell方法
代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时间弄,直到前两天碰上一个写入了菜刀马但是死活连不上菜刀的站,顿时不知道怎么继续了,所以就趁这个机会整理了一下代码执行函数怎么get ...
- pikachu RCE远程系统命令执行
远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器.防火墙.入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界 ...
- 立即执行函数表达式(IIFE)
原文地址:benalman.com/news/2010/11/immediately-invoked-function-expression/ 译者:nzbin 也许你还没有注意到,我是一个对术语比较 ...
- 【repost】js中(function(){…})()立即执行函数写法理解
摘要: javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. ...
- javascript中的自执行函数
学习es6的时候遇到了自执行函数,感觉有必要写下来,一方面加深自己的记忆,另一方面还能分享给大家. 什么是自执行函数? 自执行函数就是为了不污染全局变量命名空间的一中匿名函数,相当于自己创建了一个作用 ...
随机推荐
- 数据库(.udl)简单测试连接
当我们烦于打开数据库进行连接的时候,我们可以用udl进行测试连接,并可以获得连接字符串. 1.新建一个txt文件,然后将后缀改成udl保存. 2.双击打开udl文件. 3.进行数据库连接测试. 4.用 ...
- **apache环境下 禁止显示 index of/ 目录下(如何禁止访问网站根目录)
比如: http://123.57.49.XX6// 当这样访问的时候,可能会列出网站的根目录 如何禁止列出网站目录,方法如下: 让别人知道你的网站目录结构直接查看你目录下的所有文件是很危险的一个事情 ...
- 基础DOM和CSS操作(三)
CSS方法 jQuery不但提供了CSS的核心操作方法,比如.css()..addClass()等.还封装了一些特殊功能的CSS操作方法,我们分别来了解一下. width()方法 方法名 描述 wid ...
- C#中毫米与像素的换算方法
C#中以像素作为尺寸单位,像素是一种相对的尺寸概念,与毫米的转换与当前显示器的分辨率有关.在不同分辨率下转换的系数不同. 借助GDI可以完成毫米至像素的转换. public static double ...
- centOS学习part1:操作系统安装
0 linux作为服务器的主要操作系统,在处理速度以及安全性上都要优于windows,虽然需要很多命令要记,但是一般常用的命令不多,用多了就熟悉了,而且现在很多都要图形界面,也降低了学习成本. cen ...
- lintcode:快乐数
快乐数 写一个算法来判断一个数是不是"快乐数". 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是 ...
- JavaWeb笔记——三大组件之监听器
1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象. l 监听域对象“创建”与“销毁”的 ...
- 关于python中模块的import路径
前两天被一个同事问了一个python的问题: 为什么一个目录里的python文件引用不要另一个兄弟目录的python文件,但是这两个目录的父母录运行时是可以引用到了.当时感觉一直是模块和包的机制问题, ...
- 转: $GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别
$_POST:通过 HTTP POST 方法传递的变量组成的数组.是自动全局变量. $GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变 ...
- git环境搭建
Linux kernel 的官方 GIT地址是: http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git 可以从这个地 ...