2014-06-17 34 views
0

我已閱讀會話中的一些安全帖子。儘管我在我的共享主機中使用php.ini配置了它的大部分內容,但有些我不能。php.ini設置會話cookie安全

1)我找不到session.cookie_securesession.cookie_httponly在我的php.ini中,因爲我還是PHP新手我不想在文件中添加這兩行而不知道任何後果。或者,我使用了編輯.htaccess的方法。不知道它是否工作或沒有。

IfModule php5_module<br> 
php_flag session.cookie_secure on<br> 
php_flag session.cookie_httponly on<br> 
/IfModule<br><br> 

此方法是否正常?

2)目前我運行的版本是5.3.28,php.net的說明是session.entropy_file支持很多unix系統,但是隻支持5.3.3以後的Windows支持,超過了我的版本。默認的php.ini有這個:

;session.entropy_length = 16 
;session.entropy_file = /dev/urandom 

我應該擔心還是我擔心得太多?

3)我應該使用setcookie還是setrawcookie

4)爲安全起見,我正在關注Securely creating and destroying login sessions in PHP,我是否需要考慮?

+0

你的'5.3.28' PHP版本比'5.3.3'更新。是的,你可以添加[任何列出的選項](http://www.php.net//manual/en/session.configuration.php)到你的'php.ini'。 'setcookie()'也有兩個參數。 – mario

回答

1

1)這些應該肯定在你的php.ini文件中,但是它們會被註釋掉,這意味着它們以;開頭,你需要取消它們的註釋。如果由於某種原因,他們不在(他們會),你可以安全地添加他們。 2)如果沒有恰當的密碼學和安全知識,我不會開始改變熵值,默認情況下沒問題。

3)您應該使用setcookie(),因爲它會進行URL編碼,您可能需要。

4)是的,你需要考慮到這一點,非常重要。安全永遠不應該是事後的想法,閱讀後的所有材料,如果你不明白它瀏覽一下。網上有很多優秀的資源,我真的推薦通過OWASP閱讀。

+0

我總是懷疑在什麼程度上的安全性被認爲是足夠的...並且足夠安全以避免正常攻擊 – Andrew

+0

您已經陷入了「正常攻擊」的陷阱。如果他們願意,總是會假設攻擊者會盡其所能地妥協網站。但是,防止SQL注入,跨站點腳本和跨站點請求僞造會阻止大多數自動掃描器。安全是深層次的領域,是一個專業;作爲開發人員,您應該儘可能多地閱讀以建立安全的編碼實踐。 –