[PHP]為網頁的網址加上密碼並用Cookie暫存

4 / 16, 2013 PHP , Wordpress , 站長自製 , 網路安全

看完文章標題,有沒有一種WTF個感覺,應該大家都覺得「這在講啥阿~」,其實這是起源於最近的Wordpress遭受的暴力破解攻擊,當大家都在想著增強密碼複雜,或著讓WP有密碼錯誤三次自動封鎖功能時,卻很少人想到,讓WP登入介面(wp-login.php)加上密碼保護就好了阿,網址參數(?abc=123)必須正確才能進入畫面並新增cookie,以後就不用重新輸入參數,錯誤就導引到首頁或任何網頁,為了避免再公用電腦留下cookie,小弟還有設計刪除cookie的功能,利用簡單的php就完成啦~最初,小弟只是為了讓WP登入畫面難以進入,可是之後想想,其他PHP程式也都能用阿,為了造福大眾(有嗎?),因此決定分享出來

<?php
//網址防駭程式碼開始
//網址密碼偵測及Cookie讀取寫入開始
if($_COOKIE["password"]=="密碼放這裡"){
setcookie("password","密碼放這裡",time()+86400);
}else{
if($_GET["psd"]!="密碼放這裡"){
   //如果錯誤就轉跳到某個網頁
   header('Location: 驗證錯誤時指向的網址'); 
}else{
setcookie("password","密碼放這裡",time()+86400);
}
}
//網址密碼偵測及Cookie讀取寫入結束
//Cookie刪除程序開始
if($_GET["psdc"]=="delete"){
setcookie("password","",time()-86400);
}
//Cookie刪除程序結束
//網址防駭程式碼結束
?>

首先將「密碼放這裡」用自己要用的密碼取代,請注意不只要改一個地方喔,然後將「驗證錯誤時指向的網址」改成當密碼錯誤時要轉到的目標網址,這程式請放php檔的「最上方」,除了註解,上面不能有其他php程式,如果是用在Wordpress,請開啟根目錄的wp-login.php,直接放置在最上方即可

使用方法很簡單,在放置此程式的php網頁網址後面加上「?psd=你設的網址」,就ok啦~如果要刪除cookie,請在放置此程式的php網頁網址後面加上「?psdc=delete」,就這樣~

這程式一開始是Secret告訴小弟大概怎麼寫,小弟在完全重頭自己打造,中途也有請Secret協助測試,一開始還有問題(Cookie產生了卻無法正常取得),之後才發現原來是兩值相等時要用的==只打了一個=,另一個=補上去了之後就正常啦!不過當時Secret希望小弟別公布,一方面避免有漏洞被發現(反正還有WP的帳密和Google Authenticator),一方面他覺得我把我自己寫的程式公布會讓我不爽(我沒有阿),所以我就很不乖的不聽勸告,直接公布啦

  • secret

    好吧
    我以後寫的不跟你分享了

    • s3131212

      (那是我寫的ㄟ)

      • secret

        但是我給你我的程式碼的…

        • s3131212

          事實上我根本沒有去看……
          懶得看

          • secret

            算了…

            • s3131212

              ……