標籤:cookie 伺服器 安全性 ajax 認證
1、表單中get和post的區別
(1)get是從伺服器擷取資料,post是向伺服器傳送資料;
(2)get是將資料通過URL傳送,post則是通過HTTP post機制;
(3)get傳送的資料量較小,post可以傳送的資料量較大;
(4)get安全性低,post安全性高,效率上get比post要好;
(5) 對於get方式,伺服器端用Request.QueryString擷取變數的值,對於post方式,伺服器端用Request.Form擷取提交的資料。
2、session與cookie的異同
session是為了彌補Web服務無狀態會話的一個伺服器端儲存的一個臨時使用者資料,根據這個資料,伺服器可以重建使用者會話資訊。
cookie是為了適應本地指令碼臨時資料存放區和與伺服器端互動進行會話認證的資料保持功能
簡單的說,session需要啟用cookie才能正常的使用。
如果脫離伺服器端只考慮初期HTML+指令碼的方式來考慮的話,壓根就沒有session的檔案,因為是靜態頁面,不會與伺服器發生後續關係(拋開ajax的請求)。所以cookie也就成為指令碼啟動並執行本機存放區檔案。cookie的存在形式為“鍵名=索引值”,以“;"分隔。
持續時間長度的區別:
cookie有一個定義的時間長度,超過時間長度,瀏覽器將認為到期,會棄用並刪除此cookie檔案。因此即使伺服器端的Session仍存在,因為cookie資訊已經丟失,無法找回對應的PHPSESSID的值而無法實現會話的重建。如果不定義逾時時間長度,則在關閉瀏覽器時自動失效。
session可以指定存在期限,如果超過存在時限之前,此COOKIE中PHPSESSID值對應的Session有過請求會自動延長時間長度,直到超過時間長度未請求後會通過回收機制進行清除,但不完全保證可以正常回收。如果被回收後,即使本地仍存有cookie檔案,但由於對應PHPSESSID的Session檔案已不存在,所以也無法重建會話。
3、用PHP列印時間格式為2014-2-1 13:22:22的前一天
echo date("Y-m-d H:i:s","-1day");
4、echo()、print()、print_r()、printf()的區別
echo可以一次輸出多個值,是PHP語句,沒有傳回值
print是函數,有傳回值可以列印簡單類型的值
print_r是函數,可以列印複雜類型變數的值,如數組,對象等
printf源自C語言,可以輸出格式化的字串
5、分離HTML和PHP的模板
Smarty、Dwoo、Savant、TinyButStrong
6、版本控制工具
SVN、git、CVS、vss
7、如何?字串的翻轉
echo strrev($a);
8、最佳化mysql資料庫的方法
PHP面試01