久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

淺談php(codeigniter)安全性注意事項

下面小編就為大家?guī)硪黄獪\談php(codeigniter)安全性注意事項。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、httponly

session一定要用httponly的否則可能被xxs攻擊,利用js獲取cookie的session_id。

要用框架的ci_session,更長的位數(shù),httponly,這些默認(rèn)都配好了。

不要用原生的phpsession,而要用ci_session。ci_session位數(shù)更長。

如果要用原生的session,應(yīng)該這樣設(shè)置(php.ini):

session.sid_length //sid的長度,這里要加長,默認(rèn)的太短了

session.cookie_httponly = 1原生的session就會變成httponly了。

2、phpinfo

一定要關(guān)閉phpinfo頁面,dump的請求信息可能會被攻擊者利用。比如cookie信息。

3、強制全站https

通過cdn跳轉(zhuǎn),本地開發(fā)環(huán)境也要配https。如果有的環(huán)節(jié)不能使用https,比如消息推送,那么可以新建一個站點。

4、Strict mode

session.use_strict_mode = 1

只使用服務(wù)端自己生成的session id,不使用用戶客戶端生成的session id。

5、CSRF跨站請求偽造

A的cookie里有站點example.com的session id,并且未過期,B通過放一個圖片在論壇上,引誘A去點擊這個圖片,這個圖片會發(fā)起一個請求,請求偽裝成example.com,A的瀏覽器信以為真,將example.com的cookie附加到了這個請求上面,這個請求信息被B的代碼截獲并且通過異步請求發(fā)送給了B,B通過這個cookie登錄了A在example.com的賬戶。

CI有防CSRF機制,即他會在表單里面自動的插入一個隱藏的CSRF字段。需要進行如下設(shè)置:

application/config/config.php:

$config['csrf_protection'] = TRUE;

注意,這個開了以后,所有的向外站進行的請求都被阻止了。如果我們網(wǎng)站有向其他網(wǎng)站獲取數(shù)據(jù)的行為,比如說調(diào)用api,那就不可以啟用這個開關(guān)。

6、xss攻擊

CI會對post數(shù)據(jù)進行xss過濾,只要這樣調(diào)用:

$this->input->post('a',true);

只要加一個參數(shù)true,就可以對post的數(shù)據(jù)進行xss過濾。

7、重放

你把用戶名密碼加密了,傳到服務(wù)器進行登錄驗證,攻擊者并不需要解密你這些用戶名密碼,他只要把截獲的這些數(shù)據(jù)包,重新再操作一次,就可以實現(xiàn)登錄,這就是重放。

5、6的防御措施:每個表單包含一個隱藏的只能用一次的隨機碼token。

只用一次的token實現(xiàn):redis 到期失效 使用后直接刪掉

8、總結(jié):用戶安全登錄流程

<1>session基本策略:

(1)session僅作會話session,關(guān)閉瀏覽器即失效;

(2)session的有效期設(shè)置得越短越安全,比如說60秒;

(3)相應(yīng)的需要修改session的刷新時間,比如說30秒;

(4)設(shè)置用redis存儲session。

配置如下:

在php.ini:

session.gc_maxlifetime = 60

這個是session的有效期,默認(rèn)是1440秒,即24分鐘,改為比如說60秒。當(dāng)60秒后,客戶端跟服務(wù)端這個sid對得上的話,也是無效的,應(yīng)該在60秒之前刷新一次頁面更新sid,怎么更新下面有說;

在application/config/config.php:

$config['sess_driver'] = 'redis';//設(shè)為用redis存儲session
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;//設(shè)為會話session,關(guān)閉瀏覽器,客戶端cookie即失效
$config['sess_save_path'] = 'tcp://127.0.0.1:端口號';//redis地址
$config['sess_match_ip'] = FALSE;//要不要驗證ip是否一致
$config['sess_time_to_update'] = 30;//超30秒即刷新sid
$config['sess_regenerate_destroy'] = TRUE;//重新生成sid的時候刪除舊sid

<2>session id的刷新及session的過期時間區(qū)分:

注意:這些設(shè)置跟安全關(guān)系非常大,應(yīng)該注意區(qū)分及使用。

上面說的session.gc_maxlifetime是什么意思?即一個session從產(chǎn)生,到過期不能用的時間。其實如果使用redis就清楚了,這個值就是使用redis保存sid的時候,設(shè)定的一個存續(xù)時間,這就很清楚了,當(dāng)一個sid產(chǎn)生的時候就會把這個時間寫進去,那么到了這個時間,這個key-value就會被刪掉。

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP定義字符串的四種方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
下面小編就為大家分享一篇php 替換文章中的圖片路徑,下載圖片到本地服務(wù)器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP給源代碼加密的幾種方法匯總(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇php打開本地exe程序,js打開本地exe應(yīng)用程序,并傳遞相關(guān)參數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP類的反射來實現(xiàn)依賴注入過程以及相關(guān)知識點分享,對此有興趣的朋友跟著小編學(xué)習(xí)下吧。
php遍歷一個文件夾內(nèi)的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實現(xiàn)達到清空一個目錄的效果。本文給大家分享實例代碼,需要的朋友參考
主站蜘蛛池模板: 羞羞在线 | 黄色午夜| 麻豆黄色片| 日韩在线免费播放 | 亚洲一区在线看 | 国产高潮在线观看 | 欧美黄视频 | 免费激情网站 | 欧美黑粗大| 日韩中文字幕在线观看 | 亚洲免费精品视频 | 韩日一级片 | 久久成人免费视频 | 日韩欧美一级片 | 欧美综合视频 | 免费一级毛片免费播放 | 手机av在线免费观看 | 午夜av在线播放 | 国产福利在线播放 | 91精品国产综合久久久蜜臀 | 中国第一毛片 | 久久黄色大片 | 久久久精品在线观看 | 中国特级毛片 | 五月天在线 | 超碰免费97 | 在线中文字幕网站 | 成人福利 | 国产永久精品 | 小sao货撅起屁股扒开c微博 | 三级黄色网址 | 欧美精品一级片 | 日韩三级在线播放 | 操日本老女人 | 黄色三级免费 | 超碰在线视屏 | 精品亚洲一区二区三区 | 黄色成人在线观看 | 国产欧美一区二区 | 黄色国产视频 | 黄色a一级|