在CodeIgniter 中可以設定Database 使用的Driver,修改資料庫連線的設定檔存放在:
1 |
application/config/database.php |
裡頭有一個設定值是有關使用dbdriver的:
1 |
$db['default']['dbdriver'] = ''; |
在CodeIgniter 中可以設定Database 使用的Driver,修改資料庫連線的設定檔存放在:
1 |
application/config/database.php |
裡頭有一個設定值是有關使用dbdriver的:
1 |
$db['default']['dbdriver'] = ''; |
最近在利用CodeIgniter開發網站時,需要檢查使用者輸入的值是否有重複,為了避免使用者都輸入完資料送出表單後才去檢查,利用JQuery中的Ajax在輸入完的時候就進行檢查,但是利用Chrome Developer Tool來Debug時候,發現錯誤訊息是:
POST http://localhost/index.php/my_ajax/is_username_duplicate 500 (Internal Server Error)
最後Google後發現原來是我在之前開啟CSRF的問題。
CSRF(Cross-Site Request Forgey, 跨站冒名請求)為當使用者在已登入的狀態下,被攻擊的人執行了使用者未知的操作,因為,當使用者在登入狀態下,只要不關閉瀏覽器,就會保留著Session或Cookie,網站通常都是利用檢查Session或Cookie來確認使否連線進來的使用者是否已經登入,所以攻擊者可以利用社交攻擊,傳送一個連結或操作等,使用者在未知情況下去操作,就可能會依照使用者所安排好的操作去執行,聽來聽去可能有點霧煞煞,參考網路上的一下範例解釋一下:
HTTP Request有兩種分別是POST及GET,在GET 方法可以利用網址後面帶入變數的方式,例如:
攻擊者可能利用電子郵件或者社群網站寄送一個連結給使用者
http://www.buy.com/buy.php?item=002&to=attack
這個連結可能是讓使用者買某個東西送給某人,如果使用者不經意點擊,就可能發生了,那會有人說改用POST就好了,其實不盡然,因為只要攻擊者利用JavaScript就可以執行POST 方法了