I_PHP 安全經驗

1 MySQL數據庫作發佈系統的存儲,一天五萬條以上的增量,預計運維三年,怎麼優化?

a. 設計良好的數據庫結構,允許部分數據冗餘,儘量避免join查詢,提高效率。
b. 選擇合適的表字段數據類型和存儲引擎,適當的添加索引。
c. mysql庫主從讀寫分離。
d. 找規律分表,減少單表中的數據量提高查詢速度。
e。添加緩存機制,比如memcached,apc等。
f. 不經常改動的頁面,生成靜態頁面。
g. 書寫高效率的SQL。比如 SELECT * FROM TABEL 改爲 SELECT field_1, field_2, field_3 FROM TABLE.

2 對於大流量的網站,您採用什麼樣的方法來解決各頁面訪問量統計問題

a. 確認服務器是否能支撐當前訪問量。
b. 優化數據庫訪問。
c. 禁止外部訪問鏈接(盜鏈), 比如圖片盜鏈。
d. 控制文件下載。
e. 使用不同主機分流。
f. 使用瀏覽統計軟件,瞭解訪問量,有針對性的進行優化。

3 寫出一個正則表達式,過慮網頁上的所有JS/VBS腳本(即把標記及其內容都去掉)

答:

PHP
/<[^>].?>.?<\/>/si

4 用PHP打印出前一天的時間格式是2006-5-10 22:21:21

答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 day’));

5 echo(),print(),print_r()的區別

答:echo是語言結構,無返回值;print功能和echo基本相同,不同的是print是函數,有返回值;print_r是遞歸打印,用於輸出數組對象

6 如何實現字符串翻轉?

答:.用strrev函數唄,不準用PHP內置的就自己寫:
strrev(str)  { len=strlen(str); newstr = ”;
for(i= len;i>=0; i–)
{
newstr.= str{i};      }      return newstr;
}

7 實現中文字串截取無亂碼的方法。

答:mb_substr()

8 如何用php的環境變量得到一個網頁地址的內容?ip地址又要怎樣得到?

答:

$_SERVSR[‘REQUEST_URI’] , $_SERVER[‘REMOTE_ADDR’]

9 求兩個日期的差數,例如2007-2-5 ~ 2007-3-6 的日期差數

答:(strtotime(‘2007-3-6’)-strtotime(‘2007-2-5’))/3600*24

10 如何通過javascript判斷一個窗口是否已經被屏蔽

答:獲取open()的返回值,如果是null,就是屏蔽了

發佈了50 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章