剛剛收到安全審覈的結果 - 除了兩件事情之外,一切都清楚了會話cookie http&secure標誌 - 你如何設置這些?
沒有http標誌的會話cookie。
未設置安全標誌的會話cookie。
該應用程序是在PHP編碼和修復建議是:以http唯一標誌
- 組會話cookie
- 與安全標誌設置會話cookie
我看過的例子但不完全瞭解如何在Linux服務器上實現。我無權訪問.ini文件。是否有可能在htaccess文件中設置這些?
或者,我在代碼中如何以及在哪裏實現?
剛剛收到安全審覈的結果 - 除了兩件事情之外,一切都清楚了會話cookie http&secure標誌 - 你如何設置這些?
沒有http標誌的會話cookie。
未設置安全標誌的會話cookie。
該應用程序是在PHP編碼和修復建議是:以http唯一標誌
我看過的例子但不完全瞭解如何在Linux服務器上實現。我無權訪問.ini文件。是否有可能在htaccess文件中設置這些?
或者,我在代碼中如何以及在哪裏實現?
既然你問的.htaccess,而這個設置是PHP_INI_ALL,只是把這個在你的.htaccess:
php_value session.cookie_httponly 1
php_value session.cookie_secure 1
注意,會話cookie將只與後HTTPS請求發送。如果你在非安全的http頁面中失去一個會話,這可能會讓你感到意外(但像評論中指出的那樣,首先是配置的重點......)。
是「令人討厭的驚喜」的東西,當然它總是值得警告人們:)但是防止通過http發送會話cookie是這裏練習的一點。 – John
您可以在發送標題之前設置它們。只需在你的代碼中添加下面的這一行。
<?php
// **PREVENTING SESSION HIJACKING**
// Prevents javascript XSS attacks aimed to steal the session ID
ini_set('session.cookie_httponly', 1);
// **PREVENTING SESSION FIXATION**
// Session ID cannot be passed through URLs
ini_set('session.use_only_cookies', 1);
// Uses a secure connection (HTTPS) if possible
ini_set('session.cookie_secure', 1);
設置session.use_only_cookies = 1
將有幫助,因爲它確保只使用cookie,但是這可能會導致在處理涉及切換站點的事務時出現問題,即siteA轉發到站點B以進行付款,該站點轉發到站點A以表示感謝,在這種情況下,可以使用PHP會話ID通知來恢復舊會話。
這與問題完全無關。 – Quentin
這不提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- I-DO-代替)。 –
你應該在哪裏發送你的會話cookie或者哪個機制設置它?那就是你應該實現這個的地方。 – eis
如果你正在談論默認的PHPSESSID cookie,這個問題聽起來像是[this]的重複(http://stackoverflow.com/questions/6821883/set-httponly-and-secure-on-phpsessid-cookie-in- php) – eis
它的代碼被設置並用於登錄和檢索用戶數據。它可以在htaccess文件中設置嗎? – Jeff