真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

有哪些php安全性注意事項(xiàng)-創(chuàng)新互聯(lián)

這篇文章主要介紹“有哪些php安全性注意事項(xiàng)”,在日常操作中,相信很多人在有哪些php安全性注意事項(xiàng)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”有哪些php安全性注意事項(xiàng)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

站在用戶的角度思考問題,與客戶深入溝通,找到晉寧網(wǎng)站設(shè)計(jì)與晉寧網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋晉寧地區(qū)。

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就會(huì)變成httponly了。

2、phpinfo

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

3、強(qiáng)制全站https

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

4、Strict mode

session.use_strict_mode = 1


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

5、CSRF跨站請求偽造

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

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

application/config/config.php:

$config['csrf_protection'] = TRUE;

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

6、xss攻擊

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

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

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

7、重放

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

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

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

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

<1>session基本策略:

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

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

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

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

配置如下:

在php.ini:

session.gc_maxlifetime = 60

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


在application/config/config.php:

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

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

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

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

那么這個(gè)sess_time_to_update呢,這個(gè)顧名思義是刷新時(shí)間,這個(gè)時(shí)間是一個(gè)閾值,是指超過這個(gè)時(shí)間即刷新。并不是自動(dòng)刷新,而是訪問session的時(shí)候刷新!當(dāng)我們在使用session的時(shí)候,他會(huì)去判斷上次使用session跟這次使用session的間隔,如果間隔大于這個(gè)值,即刷新sid。這個(gè)使用,通常的表現(xiàn)就是我們在刷新頁面,需要讀取session以鑒權(quán),那么就是在刷新頁面的時(shí)候,兩次間隔有超過這個(gè)時(shí)間,即刷新sid,那么結(jié)合上面的maxlifetime呢,就是刷新完之后session重新續(xù)命了,一個(gè)新的session寫進(jìn)去,連帶一個(gè)重新開始的計(jì)時(shí)。

就是說呢,如果我們一會(huì)刷一下頁面一會(huì)刷一下頁面,那么必然會(huì)在必要的時(shí)候觸發(fā)我們的刷新機(jī)制,那么我們的session就不會(huì)過期了,永遠(yuǎn)不會(huì),如果經(jīng)常性的在那里刷的話。如果兩次刷新的時(shí)間間隔超過maxlifetime呢,這時(shí)會(huì)顯示登錄超時(shí)了,session已經(jīng)沒了,因?yàn)樵谶^期了之后你去update,顯然是不行了,update失敗。

那么總結(jié)就是,這個(gè)maxlifetime決定了我們兩次刷新之間不能超過多長時(shí)間,否則登錄超時(shí);而update呢肯定要小于maxlifetime,這是必然的,因?yàn)槿绻笥诰蜔o效了,因?yàn)檫^期了刷新沒用。并且好我覺得這個(gè)update好是maxlifetime的一半以下。如果maxlifetime很長的話(希望改善用戶體驗(yàn),讓用戶老是登錄超時(shí)總是不大好),那么這個(gè)update設(shè)的比較短也沒關(guān)系,因?yàn)樵O(shè)的比較短的話,假設(shè)這個(gè)session被偷了那么有比較大的可能這個(gè)賊去使用的時(shí)候已經(jīng)過期,安全性會(huì)比較高。

<2>one-times-tokens:

一次性的token

到此,關(guān)于“有哪些php安全性注意事項(xiàng)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


網(wǎng)站標(biāo)題:有哪些php安全性注意事項(xiàng)-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://weahome.cn/article/dpjcss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部