Time of Update: 2016-07-13
今天在將一套程式放到其他伺服器上執行的時候,發現背景登入驗證碼不管輸入正確與否,總是顯示:驗證碼輸入有誤接著就開始debug了。因為正確的驗證碼結果已經經過加密之後儲存在了session中,所有用於輸入的驗證碼會跟session中的進行比對,從而判斷驗證碼是否輸入有誤!既然老是顯示:"驗證碼輸入有誤"說明session中儲存到結果可能有問題。然後,dump下session,發現結果為null......解決辦法:使用phpinfo查看session資訊,找出session的儲存路徑,然後給其設定
Time of Update: 2016-07-13
以前寫的一個PHP表單電子郵件發送程式,其中採用如下方法來驗證電子郵件地址格式是否正確: 代碼如下 複製代碼 eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9_-]+.[a-z0-9_-]+.*", $email) 後來發現類似於將.誤寫為,的電子郵件地址也能通過驗證,例如user@126,com。經過檢查,發現它實際上只驗證了使用者名稱部分,所以又在網上找到一個教程,其中給出的例子如下: 代碼如下 複製代碼 eregi('^[_a-z0-9-]+(.[_a-
Time of Update: 2016-07-13
有時候我們為了隱藏真實的下載地址,我們通過採用header定義為檔案然後readfile下載,但這樣會加大伺服器的負擔,一般不建議下載量比較大的檔案代碼如下:= $lastModified) { header("HTTP/1.1 304 Not Modified"); return true; } if (isset($_SERVER['HTTP_IF_UNMODIFIED_SINCE']) &&
Time of Update: 2016-07-13
可以從這個例子中發展出很多的應用。比如隱藏真實的URL地址……嘿嘿,具體的就自己分析去吧 這裡建立一個檔案file.php。後面的參數就是需要偽造referfer的目標地址吧。如:file.php/http://www.xxx.xxx/xxx.mp3 $url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);//得出需要轉換的網址。這裡我就偷懶,不做安全檢測了,需要的自己加上去
Time of Update: 2016-07-13
1.PHP時間戳記函數將日期轉化為unix時間戳記 世界末日時間戳記 PHP 代碼如下 echo "世界末日時間戳記為:".strtotime("2012-12-21") 2.將時間戳記轉化為系統時間 代碼如下
Time of Update: 2016-07-13
產生excel 當然使用的是 phpExcel這個類庫了,可是它太麻煩了,對於只要簡單產生來說有點不值得 什麼叫簡單,把資料庫的資料匯入到excel就行了, 這個就是簡單了 下面看一段代碼(代碼來自網路) 注意要雙引號的字串 複製代碼 代碼如下: header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); echo "test1\t"; echo "test2\
Time of Update: 2016-07-13
這篇文章主要介紹了二進位交叉許可權微型php類,需要的朋友可以參考下靚點:1、多對多交叉情境分配;2、php新特性-閉包使用、批處理函數array_walk/array_flip使用;3、位元運算&使用案例; 使用情境:1、常見增刪改查(2的N次方值入庫);2、認證、第三方帳號綁定、多分類選擇; 代碼如下:scene=$scene;$this->case_list=$this->case_list(true); if ($allow_value)
Time of Update: 2016-07-13
php讀取檔案內容的三種方法: //**************第一種讀取方式***************************** 複製代碼 代碼如下: header("content-type:text/html;charset=utf-8"); //檔案路徑 $file_path="text.txt"; //判斷是否有這個檔案 if(file_exists($file_path)){ if($fp=fopen($file_path,"a+")){ //讀取檔案 $conn=fread(
Time of Update: 2016-07-13
preg_match_all 進行全域Regex匹配,這篇文章主要介紹下preg_match_all的相關資料,需要的朋友可以參考下preg_match_all — 進行全域Regex匹配 說明 代碼如下:int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 在 subject 中搜尋所有與 pattern 給出的Regex匹配的內容並將結果以 flags
Time of Update: 2016-07-13
伺服器產生縮圖的時機一般分為兩種:上傳檔案時產生、訪問時產生,下面為大家介紹下php根據url自動產生縮圖並處理高並發問題伺服器產生縮圖的時機一般分為兩種: 1.上傳檔案時產生 優點:上傳時就已經產生需要的縮圖,讀取時不需要再判斷,減少cpu運算。 缺點:當縮圖尺寸變化時或新增尺寸時,需要重建所有的縮圖。 2.訪問時產生 優點:1.當有使用者訪問時才需要產生,沒有訪問的不用產生,節省空間的。 2.當修改縮圖尺寸時,只需要修改設定,無需重建所有縮圖。
Time of Update: 2016-07-13
1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。 2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,考慮到安全應當使用session。 3、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能, 考慮到減輕伺服器效能方面,應當使用COOKIE。 4、單個cookie在用戶端的限制是3K,就是說一個網站在用戶端存放的COOKIE不能3K。 例,COOKIE 如:setCookie('user'
Time of Update: 2016-07-13
定義常量非常的簡單 方法是: 代碼如下 {$smarty.const.你定義的常量名} 定義變數如何做呢? smarty中定義變數 . {*下面的這一段相當於在模板內部定義一個變數UserName*} 代碼如下
Time of Update: 2016-07-13
在開發網站的時候,出於安全考慮,需要過濾從頁面傳遞過來的字元。通常,使用者可以通過以下介面調用資料庫的內容:URL地址欄、登陸介面、留言板、搜尋方塊等。這往往給駭客留下了可乘之機。輕則資料遭到泄露,重則伺服器被拿下。 一、SQL注入的步驟a) 尋找注入點(如:登入介面、留言板等)b) 使用者自己構造SQL語句(如:' or 1=1#,後面會講解)c) 將sql語句發送給資料庫管理系統(DBMS)d) DBMS接收請求,並將該請求解釋成機器代碼指令,執行必要的存取操作e)
Time of Update: 2016-07-13
複製代碼 代碼如下:/** * 傳送檔案 * * @author: legend(legendsky@hotmail.com) * @link: http://www.ugia.cn/?p=109 * @description: send file to client * @version: 1.0 * * @param string $fileName 檔案名稱或路徑 * @param string $fancyName 自訂的檔案名稱,為空白則使用filename
Time of Update: 2016-07-13
2014馬上過年倒計時小程式複製代碼 代碼如下:$zero1=strtotime (date(“y-m-d h:i:s”)); //目前時間$zero2=strtotime (“2014-1-31 24:00:00′); //過年時間$guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24hecho
Time of Update: 2016-07-13
複製代碼 代碼如下: if(preg_match("/[ '.,:;*?~`!@#$%^&+=)(<>{}]|\]|\[|\/|\\\|\"|\|/",$user)){ echo '不要在名字裡面整些特殊符號,請只使用字母、數字和漢字,當然要你的瀏覽器要選簡體中文GB2312喲,千萬不要選繁體、中文HZ等。返回修改後,再來,我等你喲!'; exit(); }
Time of Update: 2016-07-13
重點為one_mail函數。利用Mail_mimeDecode類從郵件中提取郵件標頭和郵件內文。 複製代碼 代碼如下: header("content-type:text/html; charset=UTF-8"); /* * record kid words and insert into database * user by sending email to publication kid words * */ include 'POP3.php'; include
Time of Update: 2016-07-13
今天寫程式的時候,突然發現了很早以前寫的擷取月份天數的函數,經典的switch版,但是獲得上月天數的時候,我只是把月份-1了,估計當時太困了吧,再看到有種毛骨悚然的感覺,本來是想再處理一下的,但是一想肯定還有什麼超方便的方法,於是找到了下面這個版本,做了一點小修改。擷取本月日期: getMonth( = ("Y-m-01",( = ("Y-m-d",(" +1 month -1 day" (, } $firstday是月份的第一天,假如$date是2014-
Time of Update: 2016-07-13
1,emailclass.php = "--==================_846811060==_" CMailFile(,,,,,, = "application/octet-stream", = ->subject = ->addr_to = ->smtp_headers = ->write_smtpheaders(->text_body = ->write_body(->text_encoded = ->attach_file(,,,->mime_headers =
Time of Update: 2016-07-13
代碼:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using