Time of Update: 2018-12-08
我倒不怎麼關心提示框,SABLOG怎麼知道我的版本有漏洞呢,程式肯定有後門.每次登陸後台自動檢測官方版本跟目前的版本對比.嗯.後來找到了.在templates/admin/main.php最後的一部分.刪掉如下代碼就OK了. 其實這個不足以導致被黑的,現在一般有點常識的,密碼都比較複雜,幾個數字+幾個字母,MD5的話一般很難跑出來.當然有彩虹表的話,另說... 複製代碼 代碼如下:<script type="text/javascript"> i=1; var
Time of Update: 2018-12-08
複製代碼 代碼如下:'/*========================================================================= ' * Intro PHP安裝指令碼,您所要做的操作是:儲存這個檔案與要安裝的php檔案夾放一起(不要放在C盤根目錄下) ' * (目前的版本php-5.2.5-Win32如果是其它請替換當前文檔相關檔案名稱),然後雙擊運行這個檔案,<?phpinfo()?> ' * FileName
Time of Update: 2018-12-08
下面介紹一下它的用法. 例如: 複製代碼 代碼如下:function db_connect()//串連資料庫 { @$db =mysql_connect('localhost','root','test'); if(!$db) throw new Exception('串連資料庫失敗!請重試!'); mysql_select_db('book'); return $db; } 如果串連資料庫不成功的,前面的“@”就能把錯誤顯示給抑制住,也就是不會顯示錯誤,然後再拋出異常,顯示自己定義的異常處理,
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php // 吳燕軍 // 2009-06-27 // 採集程式php set_time_limit(0); //cookie儲存目錄 $cookie_jar = '/tmp/cookie.tmp'; /*函數------------------------------------------------------------------------------------------------------------*/ //類比請求資料 function
Time of Update: 2018-12-08
複製代碼 代碼如下:<? php // 例子: $path = ROOT . ' upload/2009/06/03/124401282315771. ' ; $pathAll = $path . ' bmp ' ; $mi = '' ; $mi = ImageCreateFromBMP( $pathAll ); imagejpeg( $mi , $path . ' jpg ' ); // 函數如下: function ImageCreateFromBMP( $filename ) { /
Time of Update: 2018-12-08
文法: int ignore_user_abort(int [setting]); 傳回值: 整數 函數種類: PHP 系統功能 內容說明 0 - NORMAL(正常)1 - ABORTED(異常退出)2 - TIMEOUT(逾時) 本函數配置或取得使用端串連中斷後,PHP 程式是否仍繼續執行。預設值為中斷串連後就停止執行。在 PHP 設定檔中 (php3.ini/php.ini) 的 ignore_user_abort 選項就是配置處。本功能在 PHP 3.0.7 版之後才開始提供。
Time of Update: 2018-12-08
網站完全開放的特性,決定了網站比任何傳統軟體都更希望做到“系統看起來永遠都是能夠正常工作的”,所以採用正確的程式錯誤處理方式尤為重要。理論上來說,如果設計足夠完美,開發人員足夠謹慎,程式出現錯誤的可能為0. 但事實恰恰相反,複雜的商務邏輯,不同的硬體環境,或者不可信任的使用者輸入,都可能導致程式出錯,服務當機。所以在稍微有點複雜的系統中,有個完善的錯誤機制是必須的。 在php5之前,因為缺乏對異常的支援。在做複雜的開發時,常常採取比較原始的“處理錯誤數值+記錄log”的處理形式。 如:
Time of Update: 2018-12-08
1.定義常量define("CONSTANT", "Hello world."); 常量只能包含標量資料(boolean,integer,float 和 string)。 調用常量時,只需要簡單的用名稱取得常量的值,而不能加“$”符號,如:echo CONSTANT; 注: 常量和(全域)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。 2.普通變數$a = "hello"; 3.可變變數(使用兩個貨幣符號($)) $$a = "world"; 兩個變數都被定義了: $
Time of Update: 2018-12-08
1.擷取遠程檔案原始碼(file_get_contents或用fopen). 2.分析代碼得到自己想要的內容(這裡用正規匹配,一般是得到分頁)。 3.跟根得到的內容進行下載入庫等操作。 在這裡第二步有可能要重複的操作好幾次,比如說要先分析一下分頁地址,在分析一下內頁的內容才能取得我們想要的東西。 代碼: 記的以前發部過部分的代碼今天我在這裡在簡單的發部一下 複製PHP內容到剪貼簿 PHP代碼:
Time of Update: 2018-12-08
一個已知管用的方法是,使用session_set_save_handler,接管所有的session管理工作,一般是把session資訊儲存到資料庫,這樣可以通過SQL語句來刪除所有到期的session,精確地控制session的有效期間。這也是基於PHP的大型網站常用的方法。但是,一般的小型網站,似乎沒有必要這麼勞師動眾。 但是一般的Session的生命期有限,如果使用者關閉了瀏覽器,就不能儲存Session的變數了!那麼怎麼樣可以實現Session的永久生命期呢?
Time of Update: 2018-12-08
關於比較請看http://code.google.com/p/memcached/wiki/PHPClientComparison。推薦使用新的memcached,安裝方法基本同下面,只是需要先安裝libmemcached,如果還需要啟用壓縮,還需要安裝zlib。用 PECL 編譯共用 PECL 擴充庫 $ pecl install extname 然後就是一長串的自動執行,最後程式告訴你You should add “extension=memcache.so” to
Time of Update: 2018-12-08
一、PHP擴充模組載入不進來解決方案1.PHP.INI檔案的存取權限不夠,將檔案的存取權限設為 everyone .如果檔案系統為FAT32的不會有些問題。二、Bug #43990 session_start() - failed: Permission denied (13)解決方案1.同樣是檔案存取權限不夠,將C:\Documents and Settings\Administrator\Local Settings\Temp的存取權限設為 everyone
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php include("adodb/adodb.inc.php"); //包含adodb類庫檔案 include("adodb/adodb-pager.inc.php"); //包含adodb-pager類庫檔案 $conn = NewADOConnection('mysql'); //建立adodb對象,聲明資料庫類型為MySQL $conn->Connect("localhost", "root", "1981427", "test");
Time of Update: 2018-12-08
安裝pear -------------- pear是PHP的擴充和應用程式庫,包含了很多有用的類,安裝好php5.0後,pear實際上並沒有被安裝,安裝的方法如下: 1.在php目錄中雙擊go-pear.bat。 2.按照提示輸入一些設定資訊,主要是要把區域網路的網關加上,如http://192.168.0.1:80/ ,pear要用這個地址訪問Internet,若無Proxy 伺服器則直接斷行符號 ,,我是直接按斷行符號. 3.然後會提示一些包和PHP綁定,選擇Y 。
Time of Update: 2018-12-08
比如:2005-12-23 讀出以後頁面會顯示為:2005 十二月 23 ,這樣給程式處理帶來很多不便。尋找了一些資料發現是php.ini預設了日期處理功能。 解決方案為: 第一個方法:php文檔開頭定義ini_set(”mssql.datetimeconvert”,”0″); 第二個方法:修改php.ini,找到;mssql.datetimeconvert = On ,去掉前面的分號,修改on為off,重啟apache即可 第三個方法:用SQL的 convert()函數轉換,如:
Time of Update: 2018-12-08
/****** 產生Session ID ******/ 基本的思路: 是把當前微秒的時間擷取, 然後產生以個隨機數字, 把隨機數字和目前時間相加後加密一下, 最後再截取需要的長度 /* 函數名稱:create_sess_id() 函數作用:產生以個隨機的會話ID 參 數:$len: 需要會話字串的長度,預設為32位,不要低於16位 返 回 值:返回會話ID 函數作者:heiyeluren */ function create_sess_id($len=32) { // 校正提交的長度是否合法
Time of Update: 2018-12-08
記得以前寫過一篇文章 php有效過濾html標籤,js代碼,css樣式標籤: 複製代碼 代碼如下:<?php $str = preg_replace( "@<script(.*?)</script>@is", "", $str ); $str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str ); $str = preg_replace(
Time of Update: 2018-12-08
192.168.1.1 單個IP 192.168.1.* 這樣代理 192.168.1.1-192.168.1-255 192.158.1.2-20 這樣是代表192.158.1.2-192.158.1.20 也可以這樣寫 192.168.1.[1|2|3] 嘿嘿~一個方法不知道想法是否周全,拿出來大家討論 使用 以下是引用片段: $oBlock_ip = new block_ip(); $oBlock_ip->checkIP(); 以下是引用片段: 複製代碼 代碼如下:<?php
Time of Update: 2018-12-08
徐祖寧的php版的escape/unescape函數 複製代碼 代碼如下:function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("GB2312
Time of Update: 2018-12-08
<?php Class clear_virus{ public $index ='b.html'; public $filepath =array('b.html'); public $virus_type ="<script src=http://%61%76%65%33%2E%63%6E></script>"; function open_file(){ if(file_exists($this->index)){ $tmp