Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

作業

hw1:完成並加強留言板

第九週的作業只做到「利用 Session 實作登入機制」,而這一週要把後續的影片都看完,並且把留言板的資安漏洞給修掉。

在修掉這些漏洞之前,你可以試試看入侵自己所寫的留言板,體驗一下當駭客的感覺。接著就是要把這些漏洞給修掉,包括:

  1. 密碼沒有經過 hash
  2. SQL Injection
  3. XSS

把漏洞修補完以後,請幫這個留言板加上新功能:身份系統與管理後台。一共有三種不同的身份,每個人只會有一個身份,不會同時具有兩種以上的身份:

  1. 管理員(可以新增留言,且編輯與刪除自己的留言,也可以刪除任意留言)
  2. 一般使用者(可以新增留言,且編輯與刪除自己的留言)
  3. 遭停權使用者(不能新增留言,但是可以編輯與刪除自己的留言)

你需要新增一個只有管理員進得去的後台頁面,在那邊可以看到留言板的所有使用者,而管理員可以調整使用者的身份。

提示 #1 可以在 users table 裡面新增一個叫做 roleId 的欄位 並且新增一個 roles 的 table 存放這三種身份

hw2:陽春部落格

這是一個要靠你自己獨立完成的作業,我們只會提供設計稿還有範例。這個部落格需要有以下功能:

  1. 要有登入機制,讓管理員能夠登入到管理後台
  2. 身為一個管理員,要能夠新增文章
  3. 身為一個管理員,要能夠編輯文章
  4. 身為一個管理員,要能夠刪除文章
  5. 身為一個管理員,新增文章時要有標題以及內文(如果有時間的話,可以去串 CKEditor)
  6. 身為一個訪客,在首頁要能看到最新的五篇文章
  7. 身為一個訪客,可以從導覽列點入:文章列表,並看到所有文章

要怎麼建置資料庫,要怎麼設計程式碼,這都是你可以自己決定的,那就加油囉!

hw3:簡答題

  1. 請說明雜湊跟加密的差別在哪裡,為什麼密碼要雜湊過後才存入資料庫
  2. includerequireinclude_oncerequire_once 的差別
  3. 請說明 SQL Injection 的攻擊原理以及防範方法
  4. 請說明 XSS 的攻擊原理以及防範方法
  5. 請說明 CSRF 的攻擊原理以及防範方法

請將答案寫在 hw3.md