2016-06-29 36 views
-1

我都內置純PHP一個小網站(約20頁)和MySQL添加安全爲純PHP MySQL站點

該網站有許多形式,這將是向公衆開放的,它將存儲個人數據。

我打算添加一個安全證書。

希望能夠提供一些關於我使網站安全的選項的指導。只需概述我可以用來與開發人員進行對話的選項,或者在此處提出更多問題。

我知道作爲最低限度,登錄和註冊表單將需要一些代碼更改。

我應該考慮切換到框架嗎?

是否有另一種選擇?

接受用戶輸入的所有頁面或所有頁面是否需要更改一些代碼?

+0

**。就這些。如果你可以使用框架,那麼更改爲〜20頁的網站將是一件好事,但如果你不知道,那麼學習它的時間就可以完成。所以這取決於你是否想抽出時間學習一些東西。只要確保將MySQLi/PDO用於任何數據庫交互,特別是準備好的語句。任何密碼處理使用php內置的password_hash函數。 – Matt

+1

https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project – SLaks

+0

看到這個答案關於防止SQL注入:http://stackoverflow.com/a/60496/3595565。另一個需要考慮的話題是跨站腳本 - 有人可以在你的數據中注入javascript,當你在你的網站上顯示它時,你可以使用函數http://php.net/manual/en/function.htmlspecialchars.php逃避那些注射。 – Philipp

回答

1

首先添加

  • 防範SQL注入(請參閱從@Philipp評論)
  • 防範XSS(也看到@Philipp評論)
  • CSRF令牌
  • TLS證書,檢查https://letsencrypt.org/
  • 使用password_hash()password_verify來散列和驗證用戶密碼

完成此操作後,您將有一個良好的開始,並可以繼續使用@SLaks鏈接到的OWASP前10名單,並查看與您相關的內容。

這可能看起來像很多工作,但實際上並不需要太多的時間,當你習慣它。

PS。即使這個問題是廣泛的,並沒有明確的答案,我認爲這是一個好的開始,並希望你的運氣和良好的速度,以確保您的軟件**所有**代碼,需要用戶輸入將需要保護您的軟件

+0

感謝Rypskar,Philip和Matt爲我的「廣泛」問題提供有用的答案。對其他人來說,當你是專家時,很容易提出狹窄的問題。除非論壇明確禁止非專家用戶,否則您需要期待廣泛的問題。我在發佈之前做過搜索。我確實指出了我缺乏專業知識。有幾位成員設法給出了建設性的積極答案,我認爲這對其他可能會感到恐嚇的人提出類似問題會有幫助。儘管我努力縮小範圍,但我希望我的未來問題「廣泛」。 – ColinK