WordPress中訪客登陸實現寄件提醒的PHP指令碼執行個體分享_php執行個體

來源:互聯網
上載者:User


登陸寄件提醒實現方法
前提是空間有郵件功能,測試有無郵件功能的方法:登入介面點擊“忘記密碼”,有郵件發到你郵箱就有郵件功能。

一、登入成功提醒
就像銀行的登入提醒一樣,如果有人登入了系統,就會發一封郵件到郵箱,提醒你有人登入了,如果當時不是你登入,就要引起警惕了。將以下代碼放入主題的functions.php中:


/***************************************************** 函數名稱:wp_login_notify v1.0 by DH.huahua.  函數作用:有登入wp後台就會email通知博主******************************************************/function wp_login_notify(){  date_default_timezone_set('PRC');  $admin_email = get_bloginfo ('admin_email');  $to = $admin_email; $subject = '你的部落格空間登入提醒'; $message = '<p>你好!你的部落格空間(' . get_option("blogname") . ')有登入!</p>' .  '<p>請確定是您自己的登入,以防別人攻擊!登入資訊如下:</p>' .  '<p>登入名稱:' . $_POST['log'] . '</p>' . '<p>登入時間:' . date("Y-m-d H:i:s") . '</p>' . '<p>登入IP:' . $_SERVER['REMOTE_ADDR'] . '</p>';  $wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); $from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers );} add_action('wp_login', 'wp_login_notify');

二、登入失敗提醒
有人嘗試登陸你的系統,但是沒有成功,這種反覆嘗試的動作本身就需要被記錄下來,發給博主,這樣,只要有錯誤的登入,就會發一封郵件到自己的郵箱,將對方嘗試的登入名稱和登入密碼發送到你郵箱。將以下代碼放入主題的functions.php中:

/***************************************************** 函數名稱:wp_login_failed_notify v1.0 by DH.huahua.  函數作用:有錯誤登入wp後台就會email通知博主******************************************************/function wp_login_failed_notify(){  date_default_timezone_set('PRC');  $admin_email = get_bloginfo ('admin_email');  $to = $admin_email; $subject = '你的部落格空間登入錯誤警告'; $message = '<p>你好!你的部落格空間(' . get_option("blogname") . ')有登入錯誤!</p>' .  '<p>請確定是您自己的登入失誤,以防別人攻擊!登入資訊如下:</p>' .  '<p>登入名稱:' . $_POST['log'] . '</p>' . '<p>登入密碼:' . $_POST['pwd'] . '</p>' . '<p>登入時間:' . date("Y-m-d H:i:s") . '</p>' . '<p>登入IP:' . $_SERVER['REMOTE_ADDR'] . '</p>';  $wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); $from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers );} add_action('wp_login_failed', 'wp_login_failed_notify');

效果如下圖所示,後面有個登入所在地是用qqwry.dat做了個查詢

修改後台登入地址
外掛程式法
不少外掛程式可以實現這樣的功能,比如Protected wp-login和Stealth Login Page,直接下載安裝即可,這裡不多介紹。

代碼法
不想用外掛程式的話,直接將下面的代碼複製到當前主題的 functions.php 檔案中:

//保護後台登入function login_protection(){   if($_GET['word'] != 'fuck')header('Location: http://blog.gimhoy.com/'); }add_action('login_enqueue_scripts','login_protection'); 

這樣只有開啟 http://siteurl/wp-login.php?word=fuck,才會開啟登入頁,否則就會自動跳轉到 http://blog.gimhoy.com/

但是博主這樣做之後,郵箱裡還是每天都收到很多登入失敗的提醒郵件,於是採取了一個更加簡單粗暴的方法:修改wp-login.php檔案名稱

比如將wp-login.php修改成gimhoy-login.php,同時還要開啟這個檔案,將裡面所有的wp-login.php替換成gimhoy-login.php。這樣登入地址便成了http://siteurl/gimhoy-login.php.跟前面那個方法結合起來,就成了http://siteurl/gimhoy-login.php?word=fuck.

簡單粗暴,目的達成。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.