我寫的這個純粹是好玩,沒啥意思,說到底就是操作xml而已。緣起還是歸結於前幾天http://www.cncert.net在 我們的郵件清單發布了一個新的xss利用工具,類似老外的hamster,在用戶端定時重新整理保持session不逾時。被跨站的人只要訪問一次之後,攻擊 者就可以一直保持登陸的狀態。他這個工具用.net做的,為了方便,要求收集cookie的指令碼把cookie儲存為xml檔案。他提供了一個asp程 序,我只有php空間,因此寫了個php的作測試用。 代碼:
全球超過300萬個互連網網站的管理員都在使用PHP,使得它成為最為普及的伺服器端指令碼語言之一。其特點是運行速度快、穩定可靠、跨平台,而且是開放原始碼軟體。隨你使用的水平不同,PHP可以很簡單,也可以很複雜,可以只使用它發送HTML表格元素,還可以在PHP應用程式中整合Java和XML。 如果你對PHP有一定的瞭解或者看過一些初步的教材,這些技巧可以擴充你對PHP的認識,使你掌握一些常見的和進階的PHP功能。 一、把PHP安裝為Apache的DSO
第 1 頁 第一節 物件導向編程 [1] 第 2 頁 第二節 物件模型 [2] 第 3 頁 第三節 定義一個類 [3] 第 4 頁 第四節 建構函式和解構函式 [4] 第 5 頁 第五節 複製 [5] 第 6 頁 第六節 訪問屬性和方法 [6] 第 7 頁 第七節 類的靜態成員 [7] 第 8 頁 第八節 訪問方式 [8] 第 9 頁 第九節 綁定 [9] 第 10 頁 第十節 抽象方法和抽象類別 [10] 第 11 頁 第十一節 重載 [11] 第 12 頁 第十二節 類的自動載入 [12]
上次發了一個ASP多個網域名稱綁定一個空間互不影響 人氣WangWang的。$domain_net="abc.com";$dot_net_url="bbs/";$dot_com_url="flash";if(($HTTP_HOST=="$domain_net")or($HTTP_HOST=="www.$domain_net")){Header("Location: $dot_net_url");}else{Header("Location: $dot_com_url");}?>
php沒有規定只輸出html檔案,它可以產生動態gif檔案。我在使用php動態產生gif映像時遇到了一些問題,現已解決,我用的是php4.05(for win32)+apache3.1.2_win32。 問題一:動態產生gif的程式根本轉不起來 我寫了一個關於用php產生gif的例子,運行,發現頁面就是刷不出來,就象是死了一樣,瀏覽器也沒有任何錯誤提示。 解決辦法:修改php所在目錄下的php.ini
網站管理,檔案名稱:guanli.php Untitled Document 頁面管理 // 程式開始 $db = mysql_connect("localhost", "root"); mysql_select_db("study",$db); // 判斷是不是修改檔案 if ($submit) { $sql = "UPDATE wenzhang SET timu=$timu,zuozhe=$zuozhe,
當你希望用本系統建立你的個人首頁之前,筆者相信你已經配置好了相關的阿帕奇伺服器,MYSQL資料庫,以及php。 接著啟動你的mysql資料庫,建立一個名為study的資料庫,建立一個名為wenzhang的表。 在phpMyAdmin下建立如下欄位: id smallint(5) No 0 auto_increment timu varchar(200) Yes zuozhe varchar(18) Yes laiyuan varchar(40) Yes textt text Yes riqi
預備知識:Javascript, PHP(少量)/Perl(少量)! 測試環境:Windows2000 + IIS5 + PHP (Win98 + PWS + PHP3 失敗,估計是配置出了問題) 目錄結構: /wwwroot/cgi-bin/fileup.php (檔案接收) /wwwroot/www/test/phpfileup.htm (檔案提交) /wwwroot/www/test/tmp/ (預設儲存目錄)
包含檔案 如果你目前著手的Web網站開發項目規模較大,那你對代碼重用必定深有體會,比方說,不管是HTML還是PHP代碼塊,只要項目足夠大,比如有1000個Web頁,你即便是一年只修改一次包含著作權資訊的頁尾也會讓你痛不欲生。 而PHP可以通過一些函數協助你重用代碼,你要具體用到的函數依賴於你打算重用的內容。 主要的函數是: * include() 和 include_once() * require() 和require_once() include()函數包含給定的檔案,比如:
經常看到這樣的語句: $file = fopen($filename, r) or die("抱歉,無法開啟: $filename"); or在這裡是這樣理解的,因為在PHP中並不區分資料類型,所以$file既可以是int也可以bool,所以這樣的語句不會報錯。但其處理過程可能有些朋友不大明白。 其實在大多數的語言中, bool or
會話用法 PHP 4.0有一個一直為人所期待的特性,這就是PHP的會話(session)支援。相比之下,PHP 3.0的使用者則不得不使用第三方的程式庫或完全不能具備這項功能。缺乏會話支援能力是PHP最大的缺陷之一,也是它最受人指摘的地方。不過,隨著會話支援從早期測試版本的PHP 4.0開始就成為後者的一部分,這個障礙也蕩然無存了。
對於需要身分識別驗證的頁面,使用apache伺服器驗證是最好不過的了。 不過,apache伺服器驗證的介面不夠友好。而且,並不是所有的情況 都可以使用apache伺服器驗證,比如cgi模式的php,iis下的php。 用session可以在不同頁面間儲存使用者身份,比如 login.php if ($name=="" && $pass=="") { ?> } else { if($name!="uuu" || $pass!="ppp") { echo "login fail!"; }
把PHP安裝為Apache DSO PHP 經常和Apache Web伺服器一道用於Linux/Unix平台。當我們在Apache環境下安裝PHP的時候,你有三種安裝模式可供選擇:靜態模組、動態模組(DSO)和CGI。 我建議你最好把PHP安裝為Apached的DSO ,這種安裝模式的維護和升級都相當簡單。比方說,假設你原先只安裝了PHP的資料庫支援功能。可過了幾天之後你又決定要為PHP添加加密功能。很簡單,你只要鍵入make clean命令,然後增加新的配置選項,接著再執行make和
隨著網站規模的擴大,MySql顯然不能滿足需求,在許多網站都 採用大型資料庫Oracle的情況下,如何使用PHP來訪問Oracle變的越發重要了。 我從我編寫的一個簡單iERP系統談我自己是如何做的,在PHP官方手冊裡也有說明。 一般情況下或者說大多數人都是用Oracle8 Call-Interface(OCI8)來串連資料庫, 我這裡介紹不使用OCI8介面而直接使用PHP的Oracle函數來串連資料庫並處理資料。 注意: php.ini配置中要去掉 ;extension=php_oracle.
在PHP編程中, 我們經常會遇到一些直接產生輸出的函數, 如passthru(),readfile(), var_dump() 等. 但有時我們想把這些函數的輸出匯入到檔案中,或者先經過處理再輸出, 或者把這些函數的輸出作為字串來處理. 這時我們就要用到 Output Buffer(輸出緩衝) 函數了. 處理輸出緩衝的函數主要有這麼幾個: ob_start() 開始輸出緩衝, 這時PHP停止輸出, 在這以後的輸出都被轉到一個內部的緩衝裡. ob_get_contents()
上文(《談談PHP文法(3)》的最後提到了Cookie和Session,本文就這兩種技術作一些介紹。
三、檔案是我們的朋友 無論你在開發的網站規模的大小,都應該意識到代碼重用的重要性,無論這些代碼是HTML、還是PHP代碼。例如,你必須至少每年改變一次包含著作權資訊的頁尾,如果你的網站含有1000個頁面,每年修改一次也是個很煩人的事兒。 在PHP中,至少有幾個函數可以協助你實現代碼重用的目的,所使用的函數取決於你所重用的代碼,主要的函數有: * include() and include_once() * require() and require_once()
上文中曾提到了PHP提交表單資訊是很方便的。可是,提交的表單資訊中的變數的生命週期是多長呢?本文就來崐談談這個問題。 表單的參數會傳給下一個處理常式,這是不用置疑的。因為,我們曾有過這樣的例子。可它還會繼續傳給下一個處理常式嗎? 答案是否定的!一個Form表單所提交的參數只傳給第一個處理常式,而下一個處理常式中它是不會起作用的。來看看下例吧: 檔案:table.html 表單提交 檔案:deal-1.php echo ""; echo "你喜歡$start,對嗎?"; echo
全球超過300萬個互連網網站的管理員都在使用PHP,使得它成為最為普及的伺服器端指令碼語言之一。其特點是運行速度快、穩定可靠、跨平台,而且是開放原始碼軟體。隨你使用的水平不同,PHP可以很簡單,也可以很複雜,可以只使用它發送HTML表格元素,還可以在PHP應用程式中整合Java和XML。 如果你對PHP有一定的瞭解或者看過一些初步的教材,這些技巧可以擴充你對PHP的認識,使你掌握一些常見的和進階的PHP功能。 一、把PHP安裝為Apache的DSO
PHP和Java PHP功能的另外一個高招是其調用已有Java對象的方法的能力,這種功能可以讓你把PHP整合進已有的基於Java的應用程式。如果你正在你的工作場合推廣PHP ,那你算找到可大吹特吹的靚點了,你知道,Java這玩藝兒無處不在。 為了用到這一功能,你需要在伺服器上安裝Java虛擬機器(JVM)。如果你打算安裝(或已經安裝了)來自Sun、Kaffe、IBM或Blackdown的JDK,那你現在可謂已入正途。