dos.html
来源:互联网 发布:sql中distinct 编辑:程序博客网 时间:2024/04/29 09:14
<?php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>DOS执行命令</title> </head> <script type="text/javascript" src="../js/jquery.js" /></script> <script type="text/javascript"> //缓期需要;var int =0;$(function (){ focus_(); //为每一次固定焦点; }) function focus_(){ $('textarea').focus(); $('textarea').val($('textarea').val()); aaaa(); //为滚动条设置函数,就是总是固定在底部. } //回车点击后,因为用户最喜欢回车 function noNumbers(e){ var keynum; var keychar; var numcheck; if(window.event){ // IE keynum = e.keyCode; } else if(e.which){ // Netscape/Firefox/Opera keynum = e.which; } if(keynum===13){ //如果回车,这是关键; var mess = $('textarea:last').val(); var array = mess.split('\n'); //一行一行,是以\n为结束;切割; for (s in array){ if(array[s].indexOf('php>')!=-1) //查找最后一个PHP>后面. mess2 = array[s]; //将值赋出,简单来讲,就是将当前行赋出. } //判断一下PHP>是否存在, 这标识不要删除,否则难看了 if(mess2.indexOf('php>')!=-1){ mess2 = mess2.replace('php>',''); //新变量记录实质的命令行. var len = mess2.length; //判断一个命令行长度; //判断一下有没有结尾; if(len>2 && mess2.substr(len-1,len)!==';') //如果没有结尾,就禁止回车. return false; //判断是否直接回车,禁止两个字符的命令; if(len<2){ $('textarea:last').append('\nphp>'); //如果是直接回车,就原行复制; }else{ //否则就表示命令行有实质的内容体了; //设置一些常用命令; switch (mess2){ case 'clear;': $('textarea').val("PHP: Hypertext Preprocessor [版本 5.2.6]\n(C) 版权所有 1990-2009 Fenanr Corp.\nphp>"); break; //进入AJAX交互,将mess2传入到AJAX函数中; default: ajaxs(mess2); } } } } //每次回次,都进行焦点函数 focus_(); //禁止表单的自动换行; return false; }//AJAX交互; function ajaxs(datas){ $.ajax({ type: "POST", url: "dos.php", data:'run='+datas, //PHP 需要$run变量,我们组合一下; success: function(msg){ //组合成返回的信息; var str = '\n >命令: ['+datas+'] 已经执行成功'; str += '\n >结果是:'+msg+'\nphp>'; //将原来的信息与新的信息结合起来,输出; $('textarea:last').val($('textarea:last').val()+str); //假如返回信息是javascript:XX模式,表示要直接运行; if(msg.indexOf('javascript:')!=-1){ msg = msg.replace('javascript:',''); //先把javascript:去掉 eval_(msg); //EVAL运行它; } } }); focus_(); //又是焦点函数; }//自动运行返回的JS,为了更可观,所以增加了缓期执行; function eval_(msg){ if(int<3){ setTimeout(function(){eval_(msg);},800); int++; }else{ eval(msg); } }//为全局移动; function aaaa(){ document.getElementById('textarea').scrollTop = document.getElementById('textarea').scrollHeight; setTimeout(aaaa,100); } </script><style type="text/css"> html{height:100%;} #div_one{background-color: #000; border:3px solid #CCC; color:#FFF; text-align:left; width:800px; margin:0 auto; margin-top:50px;} #div_con{height:300px; margin:0 auto; padding:0; color:#FFF} textarea{width:800px;height:300px; border:none; background-color:#000; color:#FFF} </style><body style="margin:0; padding:0; height:100%; text-align:center; font-size:12px;"> <div id="div_one"> <h3 id="dostitle" style="background-color: #039; margin:0; padding:0; border-bottom:2px solid #CCC; font-size:14px">DOS执行</h3> <span id="div_con"></span> <textarea id="textarea" onkeypress="noNumbers(event)"> PHP: Hypertext Preprocessor [版本 5.2.6](C) 版权所有 1990-2009 Fenanr Corp.PHP </textarea> </div></body></html>