發佈日期:

WordPress 國家阻擋:直接在 wp-config.php 築起最強防護牆

Views: 0

【實測分享】徹底解決 WordPress 國家阻擋:直接在 wp-config.php 築起最強防護牆

身為 WordPress 網站管理員,為了擋住來自特定國家的暴力破解攻擊,我們通常會安裝 IP2Location Country Blocker 等地理位置封鎖外掛。

但你是否發現:明明設定了阻擋,某些國家的訪客(如墨西哥 Mega Cable)卻依然能看到後台登入頁面?

為什麼外掛會「攔截失效」?

  • 快取攔截:大部分外掛運作在 WordPress 載入後期。如果你有使用 Cache 或 Rocket,伺服器會直接吐出靜態頁面,導致 PHP 外掛根本沒機會執行。
  • 加載順位:外掛加載時,攻擊腳本可能已經完成初步掃描。

最強解法:在「第一關」就把門鎖死

直接在 wp-config.php 寫入邏輯,借用 IP2Location 外掛已有的資料庫,在 WordPress 核心啟動前就完成身分驗證。這是在 PHP 層級所能做到最高效率的攔截。


🛠️ 實戰代碼:白名單防禦機制

這段代碼的運作原理:只允許特定國家(如台灣、日本)與指定固定 IP 進入後台,其餘通通封鎖。

/* --- [ipinfo.io 雲端識別版] 僅限特定地區訪問後台 --- */
// 檢查是否為系統路徑,使用斜線與關鍵字組合以精準匹配
if (
    strpos($_SERVER['REQUEST_URI'], '/wp-login.php') !== false || 
    strpos($_SERVER['REQUEST_URI'], '/wp-admin/') !== false || 
    strpos($_SERVER['REQUEST_URI'], '/xmlrpc.php') !== false
) {

    // 1. 取得訪客 IP (採用最穩定的字串處理,預防 PHP 8 錯誤)
    $v_ip = $_SERVER['REMOTE_ADDR'];
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] !== '') {
        $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
        $v_ip = trim((string)$ips[0]); // 關鍵修正:明確指定索引並轉為字串
    }

    // 2. 【優先白名單】固定 IP 直接放行
    $trusted = array('::1', '127.0.0.1', '123.123.123.123');
    if (in_array($v_ip, $trusted)) {
        // 放行,不執行後續 cURL 節省資源
    } else {
        // 3. 採用您成功的 ipinfo.io 範例邏輯
        $country = '未知';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://ipinfo.io/{$v_ip}/json");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 3);
        $response = curl_exec($ch);
        curl_close($ch);

        if ($response !== false) {
            $data = json_decode($response, true);
            if (!empty($data['country'])) {
                $country = strtoupper($data['country']);
            }
        }

        // 4. 判斷國家白名單 (台灣、日本)
        $allowed = array('TW', 'JP');
        if (!in_array($country, $allowed)) {
            header('HTTP/1.1 403 Forbidden');
            header('Content-Type: text/html; charset=utf-8');
            exit("存取被拒:您所在的國家 ($country) 未經授權訪問。您的 IP: $v_ip");
        }
    }
}
/* --- 結束 --- */

💡 為什麼這個作法更強大?

  1. 突破快取:寫在 wp-config.php 優先級最高,快取外掛還沒啟動前就已經攔截完成。
  2. 節省資源:不符合條件的請求會立即中斷,不需載入完整的 WordPress 核心檔案。
  3. 自動容錯:內建檔案檢查,萬一解除外掛,網站也不會因為找不到檔案而報錯。

對於網站安全防護,「拒敵於國門之外」永遠是最高準則。如果你也被頻繁的跨國攻擊困擾,試試這個防線前移的終極方案吧!

發佈日期:

客製化不說的秘密-別讓你的網站變成數位人質!

Views: 1

💡 【老闆必看】你的客製化網站,是資產還是「數位人質」?

許多公司為了品牌形象,砸重金製作「客製化網站」,原以為能獲得獨一無二的功能,卻在合作一年後發現:想改改不動、想搬搬不走。

這不是技術問題,而是你被網頁設計公司綁架了

🚨 給老闆的強烈警語:

「網站明明是你花錢做的,為什麼想拿回資料、想換人維護,還要看別人的臉色?」

很多企業主在簽約時以為買的是「房子」,結案後才發現買的只是「租約」。如果你的網站不能自由搬遷、不能拿到原始碼,那這筆錢就不叫「投資資產」,而是在幫別人「養系統」

😨 您可能正在面臨的「數位災難」:

  • 【系統斷頭風險】:當這家設計公司經營不善倒閉時,你的網站將在 24 小時內連同資料一起消失。因為系統是封閉的,全台灣沒人救得了。
  • 【營運勒索陷阱】:當你未來想串接新的金流或 ERP,廠商一句「系統架構不支持」,就能開出比當初製作費更高的天價升級費。
  • 【資產歸零危機】:當你累積了五年的會員、數萬筆訂單資料,卻因為廠商不給匯出功能,你若想走,就得面臨數位資產全數報廢的慘痛代價。

🚩 話術真相:設計公司不會說的秘密

在華麗的提案背後,隱藏著業界不願公開的商業邏輯:「讓你離不開,比讓你滿意更賺錢。」

以下是設計公司最常對你說的「話術」

  • 話術一:「我們用的是獨家開發系統,比外面開源的更安全、更穩定。」
    • 真相: 「獨家」意味著「封閉」。一旦你不續約,全台灣沒有第二個工程師能接手,你只能被終身綁定。
  • 話術二:「原始碼是公司的智慧財產權,我們不外流是保護客戶。」
    • 真相: 你付了錢卻只買到「租賃權」。不給原始碼是為了讓你無法搬家,未來升級功能只能接受他們的天價帳單。
  • 話術三:「我們的設計是量身打造,不能套用到其他地方。」
    • 真相: 多半只是常見模板,包裝成專屬以提高價值感。
  • 話術四:「這是業界最新潮流,大家都在用。」
    • 真相: 常用來推銷昂貴但不必要的功能,潮流不等於需求(潮流≠需求),請好好想一下這功能對我有何必要?
  • 話術五:「我們提供一條龍服務,省去你找其他廠商的麻煩。」
    • 真相: 整合看似方便,但實際上是綁定,讓你無法分拆外包。
  • 話術六:「維護費用是必要的,否則系統會出問題。」
    • 真相: 維護費常被設計成強制性收費,模糊必要維護與加值項目的界線。
  • 話術七:「設計是藝術,不能用價格衡量。」
    • 真相: 用模糊語言掩蓋報價不透明,避免成本拆解。
  • 話術八:「我們的客戶都是大品牌,你跟他們一樣。」
    • 真相: 用名氣背書增加信任感,但未必代表實際案例的成果品質。
  • 話術九:「這是最佳解決方案,沒有其他選擇。」
    • 真相: 常見的「唯一解」話術,排除競爭,限制比較。
  • 話術十:「我們會持續優化,讓你永遠走在前端。」
    • 真相: 意味著持續付費,沒有終點,形成長期依賴,無止境付費。

🔥 實戰對抗:如果對方這樣說,你要小心什麼?

  • ⚠️ 當對方強調是「獨家自研開發系統」時:
    • 要特別小心: 他們可能只是把開源系統「套個皮」,換個 Logo 就自稱自研,目的是為了向你收取高昂的「系統授權費」,且斷絕你找其他廠商維修的可能性。
    • 如何回應: 「請問系統底層架構是什麼?如果是全自研,請提供系統文件,並承諾若未來停止營運,會釋出原始碼讓我們維護。」
  • ⚠️ 當對方拿出「正式委託書」要求簽名時:
    • 要特別小心: 在法律上,委託書的條款效力等同合約。廠商常在委託書中隱藏「維護綁約條款」或「原始碼不交付聲明」。比喻 就像買了一台新車,但合約規定:只能回原廠保養,否則車子就發不動不能開。這就是「維護綁約條款」的本質。
    • 如何回應: 「在簽署正式委託書前,請務必將『交付原始碼』與『資料所有權』等關鍵條款以附件形式納入,否則我們拒絕簽署任何具法律約束力的文件。」

⚠️ 常見的網頁設計綁架手法

  1. 「封閉式系統」的隱形牢籠:將你鎖在特定伺服器,搬家等同於「砍掉重練」
  2. 原始碼所有權的「文字遊戲」:合約或委託書沒寫「交付原始碼」,你擁有的只是看板。
  3. 資料庫的「技術隔離」:不提供匯出功能,讓你的會員資料、文章全變成人質。
  4. 低價入坑,高價維護:初期報價極低,後續換張圖都要報驚人時薪。

🛠️ 給老闆的關鍵提醒:簽約前必問的「魔王問題」

  1. 原始碼: 「未來終止合作,是否提供完整程式碼?是否能在其他主機運行?」
  2. 資料自主權: 「後台是否有功能讓我們隨時自行匯出完整會員、訂單與文章資料?」
  3. 系統維護: 「這是封閉系統還是開源系統開發?若貴司結業,誰能接手?」
  4. 權限: 「我們是否擁有 FTP資料庫主機控制台的最高管理權限?

別讓「客製化」成為勒索的藉口!

🔒核心套路總結
– 技術鎖定:讓你無法脫身。
– 資訊不對稱:用專業術語掩蓋真相。
– 情感操控:用潮流、大品牌、獨家等字眼製造信任。
– 模糊報價:避免透明,方便加價。

🛡️防禦心法
– 合約先行:所有權、交付範圍、維護費用都要白紙黑字。
– 多方比較:不要只聽一家說法,至少三家以上比對。
– 技術獨立:內部要有人能理解架構,避免完全依賴。
– 透明要求:要工時、要明細、要交付物。

真正的專業,是讓客戶因為「好用」而續約,
而不是因為「走不了」而續約。

不要等網站掛掉才後悔,
也不要等被開天價才看清!

發佈日期:

WordPress 內建偵測到外掛或佈景主題造成網站嚴重錯誤

Views: 1

2025-07-11
WordPress 內建偵測到外掛或佈景主題造成網站嚴重錯誤時,會自動以電子郵件通知網站管理員的功能。

在這個情況下,WordPress 攔截到已啟用的其中一個外掛的錯誤 (reCaptcha by BestWebSoft)。

如果你的網站無法使用且已無法正常存取 [控制台],WordPress 會立即進入 [復原模式],這能讓網站管理員安全的登入 [控制台] 並調查發生錯誤的原因。

https://www.chungg.com/XXXXXX.php?action=enter_recovery_mode&rm_token=XXXXXXXXX&rm_key=XXXXXXXXXX

為確保網站的安全,這個連結將會於 1 天後自動到期。請不必擔心,如果連結到期後網站仍發生問題,會以電子郵件傳送新的連結給網站管理員。

如需針對發生的問題尋求協助,請在提出技術支援需求時附上以下資訊:
WordPress X.X.X 版
目前使用的佈景主題:XXXXXX X.X.X 版
目前使用的外掛:reCaptcha by BestWebSoft 1.82 版
PHP X.X.XX 版

錯誤詳細資料
==================
檔案 wp-content/plugins/google-captcha/google-captcha.php 的第 34 行發生錯誤 (錯誤類型: E_ERROR)。錯誤訊息: Uncaught Error: Failed opening required ‘wp-content/plugins/google-captcha/includes/forminator.php’ (include_path=’.:/opt/cpanel/ea-php81/root/usr/share/pear’) in wp-content/plugins/google-captcha/google-captcha.php:34

發佈日期: 1 則留言

WordPress呼叫WP-Cron問題解決

Views: 0

系統警告:WordPress 計畫任務執行異常

警告:WordPress 有許多 (81) 個已過期的計畫任務。除非這是一個開發站點,否則這意味著您的 WordPress 安裝中的排程器無法正常運作。閱讀本頁以獲取可能原因以及解決方法的指南。

這個網站上因為呼叫 WP-Cron 系統衍生問題,這代表 WP-Cron 事件在這個網站上無法運作。問題:未預期的 HTTP 回應碼: 403


解決方法:修改 wp-config.php 檔案

請在您的 wp-config.php 檔案中加入以下程式碼:

define('ALTERNATE_WP_CRON', true);

方案詳解:強制啟用替代模式 (Alternate Cron)

  • 機制說明:這是 WordPress 內建的備用機制。當它發現無法正常呼叫時,會改用「網址重導向」的方式來執行排程。
  • 解決痛點:這通常能繞過大多數的防火牆 403 限制。
  • 執行效果:當使用者造訪頁面時,系統會開啟一個隱藏的重新導向請求來執行任務,而不發送外部 HTTP Request。
  • 你會看見:WordPress 在發現有「到期應執行的任務」時,網址後方會出現 /?doing_wp_cron=….. ;在短時間內連續有訪客,已經執行過一次任務,就不會再產生帶參數的網址,直到下一個任務週期到來。
發佈日期:

POP3、IMAP、SMTP

Views: 0

POP3
POP3的全名是Post Office Protocol – Version 3。舉例來說,我們在電腦上安裝Outlook,並設定POP3收信。當電腦連上網、Outlook連上主機後,Outlook會把主機上的信件下載到電腦上。

●透過(A電腦)上的Outlook將主機上的信件下載到(A電腦)上,如果Outlook沒有特別設定,Outlook不會將主機上的郵件刪除。
●如果我們也會用(B電腦)上的Outlook 收信,相同的郵件會再被下載一份到(B電腦)上。
●如果在(A電腦)Outlook上刪除某封信件,主機和(B電腦)上的郵件不受影響、不會同時被刪除。


IMAP
IMAP的運作方式比較不一樣,他會同步電腦和主機上的郵件。


如果你們不想花太多錢在信箱、主機的空間增容費用,就得避免存放太多郵件於主機上。若選擇IMAP的方式,在電腦或手機上看完信件後,就盡可能刪除。*若選擇POP3的方式,記得設定自動刪除主機上N天前(例如預設的14天前)的郵件。


發信協定: SMTP
把信寄出去這發信、寄信的功能就是SMTP,SMTP的全名是Simple Mail Transfer Protocol(簡單郵件傳輸協定)。我們在Outlook或Thunderbird上設定SMTP主機和登入資訊,就是設定當我們要寄出郵件時,會透過這個SMTP主機幫我們把郵件傳送到收件者的郵件主機。

發佈日期:

邦吉思主機 DNS IP 異動

Views: 1

因 DNS 問題導致無法連線,目前已排除,大部份用戶應該可以自動復原網站功能,
若您的網站出現異常 請修改 nameserver 的 ip 即可讓網站恢復正常

ns1.bonkids.net 108.181.3x.xxx [請來訊索取]
ns2.bonkids.net 174.128.25x.xxx [請來訊索取]

2024/03/01
很抱歉原有的 nameserver 發生問題,麻煩更改 NS2.BONKIDS.NET 的 IP
從 174.128.25X.XXX 更改為 162.251.12X.XXX [請來訊索取]
即可讓網站恢復正常

發佈日期:

一頁式網頁網站[E名片]

Views: 0

一頁式網站(One Page Web)就是單一頁面的網站型態,將網站中所有的資訊全部集中在一個網頁內,瀏覽者只需要捲動就可以觀看所有的網站內容。

一頁式完成以下連結
【電子名片】
【影片介紹】
【官方網站】
【導航前往】
【產品介紹】
【市話聯絡】
【手機聯絡】
【LINE聯絡】
【微信聯絡】
【SKYPE聯絡】

*可以自訂擁有專屬網域名稱,不是別人的子域名,不是幫別人打廣告養域名!
*可以擁專屬空間(HTML、PHP、FTP、E-MAIL、附加域名、自己的子域名、中文Cpanel控制台……)

發佈日期:

邦吉思主機CPANEL升級公告

Views: 0

2022/06/22 升級完成, 可選擇使用 5.4~8.1任意 PHP 版本

新主機的 PHP 修改方式為
登入 cPanel 使用「多 PHP 管理器」功能
即可選擇使用 5.4~8.1 任意 PHP 版本

登入 cPanel 使用「多 PHP INI 编辑器」功能
即可修改 PHP 的 INI 設定

發佈日期:

退信筆記

Views: 0

我有一個郵箱帳戶,是常態性每天都一直寄送LOG回信箱的用途,但,最近信箱一直收到這個阻擋退信訊息:
This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

550-5.7.26 message has been blocked. Please visit
550-5.7.26 https://support.google.com/mail/answer/81126#authentication for more
550 5.7.26 information. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.154 – gsmtp

找了很多網路文章,大致可以知道 可能是被認為不信任主機又太頻繁寄信了,所以被擋掉。

所以,我就:
1.用擋信的MAIL,寄信給被擋的信箱(互動)!
2.在 https://postmaster.google.com 加入被擋的網域(當然這個網域是自己的 chungg.com)!
3.在DNS加一個SPF的TXT記錄:v=spf1 a mx ptr include:_spf.google.com ~all!
4.被擋的E-maill帳號,加入擋信的通訊錄!

利用這個網站 https://toolbox.googleapps.com/apps/checkmx/ 檢查一下,還有三個驚嘆號
⚠ 尚未設定 DKIM。
⚠ 尚未設定 DMARC。
⚠ 找不到 Google 的郵件收發伺服器。要轉送主機設定嗎?

但,就可以了,寄信也正常了!

發佈日期:

為什麼一定要有「固定網址」「自有網域」呢?

Views: 0

如果你用 xxxxxx.bonkids.net 都只是在幫 bonkids.net 做努力而已,做得再好都還是我家的、別人的。

使用別人的二級網域(次網域),雖然免費,但是努力再多,最後還是會歸功於主網域(bonkids.net),因為使用子網域是不會有個人的全球網站排名,真的是損失了很多東西。

以及,假設以後若這免費空間忽然停掉,或者是你換主機商,那這些空間贈送的網址是帶不走的唷~,若你網站文章、內容在搜尋引擎上已經有一定的訪問流量了,或者是網友有在他的文章中放上你的連結,那搬家後,這些空間贈送的網域基本上是無法讓你設定轉向到新站的,那先前的努力不就白費了嗎?

*

您還打算一直把公司重要資訊一直放在別人家嗎?
即便FB粉絲頁的經營看起來在網路行銷上很有幫助,卻還是無法完全取代網頁建置,因為成立一個粉絲頁不需要任何費用,任何人想成立都可以,相對可信度也十分低。
網站不僅可以代表企業的價值,並且不需要附屬在別人的平台之下,擁有自己的名稱、風格,讓人一眼就記住您!相較於免費平台,一個真正屬於自己的形象網站、購物網站,也象徵公司永續承諾的表現!建議兩者並進才可能觸及更多的客源,並行合作才能創造無往不利的電子平台、網路市場!更別把雞蛋放在同個籃子裡,讓 Facebook 限制了您的可能!

FB粉絲頁是將人氣流量倒入官方網站的最佳輔助工具,前提是:你要有官方網站。

對於企業長期發展面而言,經營粉絲專頁不架設網站並不是一個長久之計,擁有自己的網站你才能真正有控制權與自由權掌握在自己手中,同時建立屬於自己的網路資產,企業網站就像一個人形象與個性的表現,當使用者瀏覽到您的網站,透過吸睛的視覺設計、動態介面、獨特風格、完整內容資訊可用來加深使用者對您的或您公司的印象與好感。

*

基於種種的以上這些原因,我們建議大家要有個固定網址,讓網站的網址永遠,不再因為換空間而網址帶不走、流量人氣帶不走。