php 执行shell,php中shell_exec不能运行?

用户投稿 96 0

关于“php_shell执行”的问题,小编就整理了【4】个相关介绍“php_shell执行”的解答:

php中shell_exec不能运行?

其实,你这里真是的需求,只是希望在Web这边获取一种方式,来执行一个长达数小时的“异步”任务。

就PHP而言,可以用2种方式来做:

(1)在PHP里使用shell_exec的函数,以shell的方式,启动一个独立的PHP脚本执行。

这种方式,其实相当于在Web服务器处理过程中,独立起了一个shell进程处理你的任务。

这里,需要特别注意的是shell_exec的服务器安全,注意校验参数,小心避免被带入shell命令中。

这个是比较容易实现的方式。

(2)使用PHP实现一个Server,监听一个端口,为Web端提供服务。这里的实现方式有很多,通常要配合扩展,例如原生的pthread(多线程),开源扩展swoole等等。

直接在web程序里使用多线程,是不恰当的,web请求通常有时间限制,例如timeout默认是30秒。你如何保证,在线程任务执行完之前,它的父进程仍然在工作?

shell脚本怎么执行?

编写好的shell脚本(如:test),可以采取两种方式进行运行:

一、 $ sh test一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。也可以采用 $ ksh test这种方式要求shell具有“可读”的访问权限。

二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。

chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)chmod +rx test(同上)chmod u+rx test(只有文件属主具有读和执行的访问权限)按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。

1、test(如果命令检索路径包含当前目录)

2、./test(如果命令减缩路径不包含当前目录)*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。

灰壳有几个版本?

灰壳是一个流行的PHP Webshell,可用于在远程服务器上进行管理和操作。它的版本和功能不断地更新和改进。有三个主要的灰壳版本:原版灰壳(又名ASPX SHELL),由国内的菜刀团队开发,功能较基础,适用于Windows主机;PHP SHELL是用PHP语言编写的轻量级Webshell,适合在Linux主机上使用;C99 SHELL是另一个较为常用的版本,具有更多高级功能,如反弹Shell等。但需要注意的是,这些Webshell已被广泛用于非法攻击,例如黑客入侵和植入恶意程序。因此,为了确保网络安全,请管理员及时升级系统补丁,使用强密码,避免使用过期或易受攻击版本的Webshell。

sqlmap怎么提权?

        sqlmap提权首先执行 --os-shell参数命令:

        选择web应用服务器的语言,默认php指定上传路径后,sqlmap 将在指定的目录生成了两个文件,分别用来执行系统命令和上传文件。

到此,以上就是小编对于“php_shell执行”的问题就介绍到这了,希望介绍关于“php_shell执行”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!