<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁(yè)>軟件介紹>頁(yè)面顯示PHP源碼 查詢:
               
          頁(yè)面顯示PHP源碼

                  函數(shù)1:show_source("filename");

                  函數(shù)2:highlight_file ("filename");

                  <?php

                  $file = $_GET['f'];

                  $file = $file ? $file : __FILE__; highlight_file($file);

                  ?>

                  函數(shù)3:highlight_string("string");

                  <?php

                  highlight_string('<?php phpinfo(); ?>'); ?>

                  執(zhí)行后,在瀏覽器中輸出:

                  <code><font color="#000000">

                  <font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font

                  color="#0000BB">?&gt;</font>

                  </font>

                  </code>

                  但是這樣執(zhí)行之后,如果程序員不仔細(xì)檢查,會(huì)有很多的漏洞,給一些別有用心的人以可成之機(jī)~ 下面來(lái)看看具體的解決辦法:

                  代碼大致功能就是通過(guò)URL中提交一個(gè)變量名為f的變量接受需要高亮顯示代碼的php文件路徑,然后程序在調(diào)用highlight_file函數(shù)來(lái)顯示該文件。然后把該文件保存到我的個(gè)人主目錄的public_html目錄下,文件名為test.php。

                  現(xiàn)在我們使用firefox打開(kāi):~heiyeluren/test.php,返回的是我們

                  test.php的文件內(nèi)容,現(xiàn)在我們存取passwd文件看看:

                  ~heiyeluren/test.php?f=/etc/passwd

                  馬上頁(yè)面里就顯示了很多用戶信息:

                  root:x:0:0:root:/root:/bin/bash

                  bin:x:1:1:bin:/bin:/sbin/nologin

                  daemon:x:2:2:daemon:/sbin:/sbin/nologin

                  ......

                  我們?cè)俨榭磒hp的配置文件php.ini的信息:

                  ~heiyeluren/test.php?f=/usr/local/php/lib/php.ini

                  馬上顯示了:

                  [PHP]

                  ;;;;;;;;;;;

                  ; WARNING ;

                  ;;;;;;;;;;;

                  ; This is the default settings file for new PHP installations. ; By default, PHP installs itself with a configuration suitable for ; development purposes, and *NOT* for production purposes. ; For several security-oriented considerations that should be taken ; before going online with your site, please consult php.ini-recommended ; and

                  ......

                  看來(lái)只要權(quán)限允許,很多文件都能夠直接讀取,對(duì)我們系統(tǒng)構(gòu)成了巨大威脅。換句話說(shuō),如果把上面代碼插入到當(dāng)前web系統(tǒng)中其他任意一個(gè)能夠直接訪問(wèn)的php文件中,通過(guò)特殊的變臉進(jìn)行激活,而且一般程序員是不會(huì)那么仔細(xì)的檢查每個(gè)PHP程序文件,那么惡意用戶就能夠隨時(shí)隨地查看我們的系統(tǒng)文件。

                  [ 系統(tǒng)防范 ]

                  那么,如果防止,或者說(shuō)拒絕類(lèi)似的問(wèn)題呢,因?yàn)?,同樣的,php的文件存取函數(shù)非常多,比如file、file_get_contents、readfile等函數(shù),我們?nèi)绾畏乐惯@些函數(shù)帶來(lái)的威脅呢,

                  解決方法一:

                  如果系統(tǒng)中只是跟數(shù)據(jù)庫(kù)進(jìn)行交互,那么完全可以屏蔽掉這些文件存取函數(shù),象fopen、file、file_get_contents、readfile、opendir等函數(shù),方法就是在php的配置文件php.ini中進(jìn)行禁止,php.ini中有一個(gè)選項(xiàng)叫做disable_functions,我們可以把需要屏蔽的函數(shù)放到里面: disable_functions = highlight_file,fopen,file,file_get_contents,readfile,opendir 那么上面那些函數(shù)就無(wú)法使用了,比如你調(diào)用了highlight_file函數(shù),那么php引擎會(huì)提示你: Warning: highlight_file() has been disabled for security reasons in

                  /home/heiyeluren/public_html/test.php on line 5

                  當(dāng)然,我們不能一概而殺,只是說(shuō)你可以禁止掉那些基本不怎么使用的函數(shù),比如highlight_file我覺(jué)得就使用的比較少。

                  解決方法二:

                  第一種方法太強(qiáng)制性了,函數(shù)禁止后將無(wú)法訪問(wèn)該函數(shù),總是不是那么的適合,對(duì)于一些空間提供商來(lái)講,是不合理的,那么還有一個(gè)解決方法,還是配置我們的php.ini,打開(kāi)php的安全模式:

                  safe_mode = On

                  當(dāng)然,如果你需要,最好再配置一下open_basedir之類(lèi)的選項(xiàng)來(lái)更好的控制,具體可參考php手冊(cè)。

                  當(dāng)我們打開(kāi)了php的安全模式后,我們?cè)賮?lái)訪問(wèn)一下/etc/passwd,提交URL: ~heiyeluren/test.php?f=/etc/passwd

                  那么瀏覽器中馬上就顯示:

                  Warning: highlight_file() [function.highlight-file]: SAFE MODE Restriction in effect.

                  The script whose uid is 500 is not allowed to access /etc/passwd owned by uid 0 in

                  /home/heiyeluren/public_html/test.php on line 5

                  解決方法三:

                  在不損失我們PHP強(qiáng)大功能前提下,那些函數(shù)都能夠正常使用,那防范方法就是設(shè)置我們系統(tǒng)中各個(gè)目錄的各種不同訪問(wèn)權(quán)限,比如我們的/etc/passwd文件。比如默認(rèn)是這個(gè)權(quán)限: [~]# ls -al /usr/local/php/lib/php.ini -rw-r--r-- 1 root root 41489 5 12:40 /usr/local/php/lib/php.ini

                  我們?cè)O(shè)置設(shè)置一下不是隨便能夠讀的:

                  [~]# chmod 640 /usr/local/php/lib/php.ini

                  [~]# ls -al /usr/local/php/lib/php.ini

                  -rw-r----- 1 root root 1865 Nov 27 01:16 /usr/local/php/lib/php.ini

                  現(xiàn)在,我們?cè)谠L問(wèn)

                  ~heiyeluren/test.php?f=/usr/local/php/lib/php.ini 看看:

                  Warning: highlight_file(/usr/local/php/lib/php.ini) [function.highlight-file]: failed to open stream: Permission denied in /home/heiyeluren/public_html/test.php on line 5

                  Warning: highlight_file() [function.highlight-file]: Failed opening '/usr/local/php/lib/php.ini' for highlighting in

                  /home/heiyeluren/public_html/test.php on line 5

                  警告說(shuō)沒(méi)有權(quán)限讀取/usr/local/php/lib/php.ini這個(gè)文件,順利達(dá)到我們的目的。

                  


          PHP購(gòu)物車(chē)類(lèi)Cart.class.php定義與用法php加iis服務(wù)器搭建PHP的運(yùn)行環(huán)境
          PHP實(shí)例說(shuō)明編寫(xiě)PHP代碼的5個(gè)好習(xí)慣提高PHP編程效率引入緩存機(jī)制提升性能
          如何在本地搭建php環(huán)境PHP陽(yáng)歷轉(zhuǎn)農(nóng)歷的類(lèi)
          PHP模板引擎smarty進(jìn)門(mén)PHP中多態(tài)如何實(shí)現(xiàn)
          PHP執(zhí)行系統(tǒng)外部命令通過(guò) PDO 將 PHP 連接到 DB2 和 Cloudscape
          php多進(jìn)程編程實(shí)例PHP高效率寫(xiě)法
          OOP的PHP長(zhǎng)啥樣絕對(duì)簡(jiǎn)單易學(xué)的PHP入門(mén)教程
          自己寫(xiě)的php模板引擎優(yōu)化php提高性能的一些方法
          信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
          • 勁爆價(jià):
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 黄色无码视频在线客服 | 久久99久久99精品免费看小说 | 日韩成人AV一区 | 日韩免费A∨ | 日韩欧美动作影片 | 国产毛片一区二区三区亖区内套视频 | 88AV中文字幕教师 | 久久爱成人电影 | 亚洲欧美日韩中文字幕精品国产 | 青娱视频亚洲 |