1. 如何進行防 SQL 注入
1.表單盡量用 post咖城,表單判斷控制走 get赶么,因為 get 比 post 速度快
2.用$_SERVER[HTTP_REFERER]判斷提交者的源頭
3.開啟 addslashes频蛔,在’,“,\頭加\幅慌,addslashes默認就是開啟的是為了讓含有單雙引號和反斜杠的sql語句正常執(zhí)行
4.密碼一定設(shè)置 md5 加密
5.采用預(yù)處理误算,先解析sql,再綁定參數(shù)
6.服務(wù)器本身的安全(web+mysql)
2. 如何防止盜鏈
1.服務(wù)器上防止
Apache 和 nginx 做 rewrite 基于源來做判斷阻止盜鏈
2.代碼防止
在頁面加判斷語句般码,用$_SERVER[HTTP_REFERER]檢測請求頁面的域名或者ip束倍,如果不是同域請求被丧,就提示錯誤盟戏。比如復(fù)制一個新浪博客的美女圖片(如圖1)鏈接的地址,在自己的網(wǎng)站中使用甥桂,圖片會顯示如下(如圖2)柿究。這就是防盜鏈功能。經(jīng)測試黄选,個別網(wǎng)站似乎可以破解這種防盜鏈的機制蝇摸,比如簡書,這里就是直接用的新浪博客的的圖片鏈接办陷,簡書先訪問到外部網(wǎng)站的圖片貌夕,然后保存到簡書自己的服務(wù)器上。這也算一種破解防盜鏈的方法吧民镜。
3. 下面代碼的執(zhí)行結(jié)果是什么啡专?
<?php
echo 1+2+"3+4+5";
?>
答案是6
echo 1+2
是3
echo "3+4+5"
是3,因為"3+4+5"
是字符串,看的是第一個數(shù)值制圈,強制轉(zhuǎn)類型是(int)"3+4+5"
把3+4+5強制轉(zhuǎn)為數(shù)值類型们童,結(jié)果是3。所以答案是6.
4. http狀態(tài)碼
- 200正常相應(yīng)
- 302地址重定向鲸鹦,一般是通過rewrite實現(xiàn)
- 304緩存未過期
- 403權(quán)限不足
- 404訪問的頁面不存在
- 服務(wù)器內(nèi)部錯誤
5. 如何讓禁用cookie的客戶端還可以實現(xiàn)session數(shù)據(jù)共享慧库?
打開php配置文件php.ini
把session.use_trans_sid = 0,修改為 =1。a鏈接的后面會自動帶上session_id
6. 用 PHP 實現(xiàn)冒泡排序馋嗜,將數(shù)組$a = array()按照從小到大的方式進行排序齐板。
<?php
$arr=array(1,323,66,85,200,2,16);
function mysort($arr){
for($i=0;$i<count($arr)-1;$i++){
for($j=0;$j<count($arr)-1;$j++){
if($arr[$j]>$arr[$j+1]){
$a=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$a;
}
}
}
return $arr;
}
$newArr=mysort($arr);
echo "<pre>";
print_r($newArr);
echo "</pre>";
7. 寫一個把含有下劃線的字符串轉(zhuǎn)為駝峰樣式的字符串:
<?php
function transform($str){
return str_replace(' ', '', ucwords(str_replace('_', ' ', $str)));
}
echo transform('index_php_function');
?>