標籤:info == asc csrf rand 上傳漏洞 防盜鏈 uniq php.ini
1、php.ini 修改 open_basedir=‘d:\wwwroot‘ //配置只能訪問指定的網站目錄
2、php.ini 修改 disable_funcitons=system,passthru,exec,shellexec,popen,phpinfo //禁止執行一些函數
3、php.ini 修改display_errors =On 為display_errors =Off //禁止顯示一些錯誤
4、跨站指令碼攻擊(XSS)
防禦方法:寫函數或者用htmlentities來進行對html或者javascript標籤進行過濾
5、sql注入漏洞
防禦方法:寫函數或者addslashes()來過濾SQL關鍵字即可
6、跨站請求偽造攻擊(CSRF-防盜鏈)
如要刪除一個條記錄,沒有判斷來源資訊,任何人都能刪除
防禦方法:在請求頁加上
session_statrt();
$token=md5(uniqid(rand(),TRUE));
$_SESSION[‘token‘]=$token;
在表單中加入
<input type="hidden" name="token" value="<?=$token?>"/>
在接收頁中驗證如:
if(isset($_SESSION[‘token‘]) && $_POST[‘token‘]==$_SESSION[‘token‘])
{
驗證成功則執行語句
}
7、表單是否重複提交
解決方案:
在提交頁處理如下:
session_statrt();
$_SESSION[‘conn‘]=time();
$_SESSION[‘connid‘]=time();
<input type="hidden" name="connid" value="<?=$_SESSION[‘connid‘]?>"/>
接收頁如下
if($_SESSION[‘conn‘] != $_POST[‘connid‘])
{
echo ‘重複提交‘;
}else
{
echo ‘驗證通過處理內容‘;
}
8、檔案上傳漏洞
在上傳的時候過濾圖片類型,檔案尾碼,圖片大小即可
php安全處理