精华内容
下载资源
问答
  • Web页面执行shell命令

    千次阅读 2021-05-10 14:04:15
    安装apache服务yum -y install httpd启动apachesystemctl restart httpd创建shell脚本cd /var/www/cgi-bin/vim shell#!/bin/shalias urldecode='sed "s@+@ @g;s@%@\\\\x@g" | xargs -0 printf "%b"'echo -e "Content...

    安装apache服务

    yum -y install httpd

    启动apache

    systemctl restart httpd

    创建shell脚本

    cd /var/www/cgi-bin/

    vim shell

    #!/bin/sh

    alias urldecode='sed "s@+@ @g;s@%@\\\\x@g" | xargs -0 printf "%b"'

    echo -e "Content-type: text/plain\n"

    decoded_str=`echo $QUERY_STRING | urldecode`

    echo -e "`$decoded_str` \n"

    shell

    测试:在浏览器中输入http://127.0.0.1/cgi-bin/shell?pwd,即可列出目录

    提供web接口

    cd /var/www/html

    vim index.html

    function httpGet(url)

    {

    var xmlHttp = new XMLHttpRequest();

    xmlHttp.open("GET", url, false); // false: wait respond

    xmlHttp.send(null);

    return xmlHttp.responseText;

    }

    function f()

    {

    var url = "http://127.0.0.1/cgi-bin/shell?"+ document.getElementById('in').value;

    document.getElementById('out').innerHTML = httpGet(url);

    }

    command:

    send

    
     

    index.html

    注意修改代码中ip,更改为服务器ip或域名

    效果图如图所示

    5f2a9418094cc54382687c3dc8934399.png

    cgi-bin目录执行shell脚本格式

    #!/bin/sh

    printf "Content-Type: text/plain\n\n"

    your_commands_here

    安全性优化

    限制用户访问cgi-bin目录,修改/etc/httpd/conf/httpd.conf

    AllowOverride None

    Options None

    Require all granted

    Deny From all

    Allow From 127.0.0.1 your-ip-address

    配置http页面账号密码访问,也可实现安全性

    弊端

    无法执行复杂的脚本命令,如带有" |等特殊符号的命令无法执行,如yum、top命令执行结果不完整、仅适用于简单带输出脚本命令,脚本运行账号为apache

    展开全文
  • https://github.com/nickola/web-console/releases/在web中加入shell脚本控制台的我大致知道后台的情况了,但是这个界面如何实现,而且执行命令后的数据显示的格式都和linux中的控制台类似的格式...

    https://github.com/nickola/web-console/releases/

    bVy88Y

    在web中加入shell脚本控制台的

    我大致知道后台的情况了,但是这个界面如何实现,而且执行命令后的数据显示的格式都和linux中的控制台类似的格式

    https://github.com/nickola/web-console/blob/master/src/webconsole.main.php#L9-L32

    这个库封装的是 http://php.net/manual/zh/function.proc-open.php

    针对题主的更新:

    terminal的实现使用的是 https://github.com/jcubic/jquery.terminal

    exec,system,··,这些都可以执行shell命令,你可以做个ajax请求,返回命令结果,然后自己调下样式就行了

    web中的shell并不是真正的shell,通过后端处理接受命令并过滤,再使用php中的exec调用

    界面实现:

    1.前端绘制

    2.flash动画

    1.只能模拟样式

    2.exec等调用shell脚本的方式在操作

    3.毕

    展开全文
  • This tutorial looks good,但.../bin/bash # get today's date OUTPUT="$(date)" # You must add following two lines before # outputting data to the web browser from shell # script echo "Content-type: text/...

    This tutorial looks good,但有点简短.

    我安装了apache.如果你不这样做:sudo apt-get install apache2.

    cd /usr/lib/cgi-bin

    # Make a file and let everyone execute it

    sudo touch test.sh && chmod a+x test.sh

    然后将一些代码放在文件中.例如:

    #!/bin/bash

    # get today's date

    OUTPUT="$(date)"

    # You must add following two lines before

    # outputting data to the web browser from shell

    # script

    echo "Content-type: text/html"

    echo ""

    echo "

    Demo"

    echo "Today is $OUTPUT
    "

    echo "Current directory is $(pwd)
    "

    echo "Shell Script name is $0"

    echo ""

    如果一切顺利(就像它对我而言)你应该看到……

    Today is Sun Dec 4 …

    Current directory is /usr/lib/cgi-bin Shell

    Shell Script name is /usr/lib/cgi-bin/test.sh

    展开全文
  • shell脚本在处理文本及管理操作系统时强大且简单,将shell脚本结合到应用程序中则是一种快速实现的不错途径本文介绍使用java代码调用执行shell我在 ~/bin/ 目录下写了jbossLogDelivery.sh,有两个功能{./...

    shell脚本在处理文本及管理操作系统时强大且简单,

    将shell脚本结合到应用程序中则是一种快速实现的不错途径

    本文介绍使用java代码调用并执行shell

    我在 ~/bin/ 目录下写了jbossLogDelivery.sh,有两个功能

    {./jbossLogDelivery.sh list} 作用是输出jboss现有的日志列表,

    {./jbossLogDelivery.sh get logName youmail@163.com} 作用是将指定的日志发送到指定的邮箱

    我在一个web程序中打算整合这个脚本,以达到通过http get来操作脚本。

    下面是核心代码

    //推荐使用ProcessBuilder来创建处理进程,参数cmds是一个String数组,

    //网上流行的一种方式是runtime.getprocess,我自己测试执行脚本时目录有问题

    //按照上述脚本,输出日志列表功能cmds的值为{"jbossLogDelivery.sh","list"}

    //提取日志功能的cmds的值为{"jbossLogDelivery.sh","get","logname","youmail@csair.com"}

    ProcessBuilder processBd=new ProcessBuilder(cmds);

    //切换到脚本所在目录

    processBd.directory(new File(scriptPath)); //scriptPath = “~/bin/”;

    //开始执行

    process = processBd.start();

    //执行结果

    int status = process.waitFor();

    //读取脚本的输出结果

    br = new BufferedReader(new InputStreamReader(process.getInputStream()));

    //处理结果

    String line = "";

    while ((line =br.readLine())!=null) {

    resList.add(line);

    }

    展开全文
  • web页面中利用jsp执行linux shell脚本实现主机在线检测(ping) # vi index.jsp <%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> <!DOCTYPE html> <...
  • 我现在做法是在WEB页面做了个链接,链到getexl.php,如下:WEB调用代码:生成EXLgetexl.php代码:回复讨论(解决方案)没有权限了吧需要什么权限?我目录和文件都已经是777了需要服务器对WEB执行的权限配置?需要...
  • 由于我在做linux下的QT开发,有时候会用到shell脚本的辅助,但是需要QT运行shell脚本并获取执行结果,今天给大家分享下我的技巧,废话少说直接上代码://执行shell指令或者shell脚本的方法QString Common::...
  • 使用说明1,shell命令 | python命令 | 系统支持的都可以2,不支持交互式显示 | 不支持动态内容显示3,傻瓜式操作(页面点击链接一次,执行一次脚本内容)|可以设置页面自动刷新,实现重复执行脚本使用要求Linux系统...
  • 1、建立脚本 2、搜索ter并且将终端拖到桌面上 3、右键->属性改成你要执行脚本路径,关闭 4、双击执行
  • /*** 进入监控页面,获取服务器配置(ip,登录名,密码) *@paramrequest *@parammodel *@return */@RequestMapping(value= "/index.do")publicString index(HttpServletRequest request, Model model){ String ...
  • python中paramiko库可以执行远程linux服务器命令并接收返回结果,基于channel信道模式,channel允许用户在不同程序间进行通信,这是实现分布式实时应用的一部分如果你不想所有的message和event都经由数据库的话 ...
  • Linux Shell脚本编程--curl命令详解

    千次阅读 2020-12-24 23:23:21
    用途说明curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl...
  • cgi.so LoadModule cgid_module lib/httpd/modules/mod_cgid.so 修改 标签里的内容如下,ExecCGI 表示在cgi-bin目录下执行cgi脚本,所有的cgi脚本都需要放到改目录下。 Options ExecCGI AllowOverride None Order ...
  • 简介最近运维人员提出需求,增加一个运维页面, 查询当前的业务进程信息包括:进程名称、启动命令、启动时间、运行时间等,可以通过页面点击重启按钮,可以重启后端的一系列系统进程。思路java程序获取linux进程信息...
  • 首先,不是在BASH脚本中使用$USERNAME。 $USERNAME是一个包含当前用户名的BASH变量。实际上,在BASH中使用UPPERCASE变量通常是一个糟糕的主意。大多数BASH环境变量都是大写字母,可能会导致混淆。让你的变量小写是个...
  • 生成SSH证书并复制到远端服务器: ssh-keygen -y -f ~/.ssh/id_rsa && cat ~/.ssh/id_rsa.pub | ssh root@host "cat - >> ~/.ssh/authorized_keys" 13.shell下新建文件夹并进入,以下加入bashrc: mkcd ( ){ mkdir ...
  • 'backup_all':#这里根据web页面获取的值进行对应的操作 command = 'bash /opt/test.sh'#这里是要执行命令或者脚本 #远程连接服务器 hostname = '192.168.0.162'username= 'root'password= 'root'ssh=paramiko.SSH...
  • 想要把它做成web版但是这个脚本执行的时间较长,大概要2-3分钟,期间会echo一些成功的提示信息至屏幕上但是现在用php来调这个脚本,用的是exec和system,发现要一直等这个脚本全部执行完之后才会在网页上打印出语句...
  • python中执行shell命令的几个方法小结,pythonshell最近有个需求就是页面执行shell命令,第一想到的就是os.system,复制代码 代码如下:os.system('cat /proc/cpuinfo')但是发现页面上打印的命令执行结果 0或者1,...
  • 执行shell脚本 shell脚本根据你的项目情况而定,我这里给出一个我的项目的脚本参考,因为我是同时构建前后端项目,所以比较复杂一点。注意这个shell脚本运行的当前路径是主机上的 /opt/jenkins/home/workspace/项目...
  • CTFshow-WEB入门-命令执行

    千次阅读 热门讨论 2021-01-20 13:56:09
    或者其他姿势,因为过滤太少,命令执行得函数很多,绕过姿势也很多,因此不列举了。 web31 或者 ?c=echo`tac%09fl*`; web32 利用自己以前没有注意过得一个点。 if(!preg_match("/flag|system|php|cat|sort|shell|\...
  • 简单看了一下Linux的shell脚本,对Shell有了简单的了解(刚入门),故而想实现一个小功能,就是通过php脚本WEB端去链接Linux服务器,并调用Linux上面的脚本,传入参数执行简单的脚本,返回值。Step1.需要安装php_ssh2组件的...
  • jsp 调用linux shell

    2021-05-17 19:30:27
    String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";...shellString cmds = "monitor.sh";try {Proc...
  • shell写cgi脚本

    2021-05-16 19:22:51
    第29章 cgi脚本本章包含内容:基本cgi脚本使用服务器端内嵌(Server Side Includes,SSI)get方法post方法创建交互式脚本能够自动重载web页面得cgi脚本cgi是一种规范,它规定了获取信息得教本如何从服务器中取得信息或向...
  • web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...68 id -显示用户的idLinux id命令用于显示用户的ID,以及所属群组的ID. id会显示用户以及所属群组的实际与有效ID.若两个ID相同,则仅...
  • Shell脚本调用ftp上传文件 Shell脚本调用ftp上传文件 1.脚本如下 ftp -n如何使用shell脚本快速排序和去重文件数据 前面写过一篇通过shell脚本去重10G数据的文章,见.然而今天又碰到另外一个业务,业务复杂度比上次的...
  • 这个功能主要用于在web端利用程序对远程服务器进行操作,通过PHP_ssh执行shell脚本来实现。首先要安装php_ssh2组件,linux中centos7下有ssh2源,直接安装。window下则需要自行下载dll组件加载,具体方法自行搜索。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,251
精华内容 24,100
关键字:

web页面执行shell命令