วันที่เกิดภัยพิบัติ gos reg html การตรวจสอบวันที่ต่ออายุชื่อโดเมน ตอนนี้เรามาสร้างสคริปต์หลักสำหรับการทำงานต่อไป
วันที่ดีเพื่อน! มาดูการลงทะเบียนผู้ใช้ใน PHP กับคุณ ขั้นแรก ให้กำหนดเงื่อนไขสำหรับการลงทะเบียนผู้ใช้ของเรา:
- เราเข้ารหัสรหัสผ่านโดยใช้อัลกอริทึม MD5
- รหัสผ่านจะถูก "เค็ม"
- ตรวจสอบความพร้อมในการเข้าสู่ระบบ
- การเปิดใช้งานผู้ใช้โดยจดหมาย
- การเขียนและจัดเก็บข้อมูลใน MySQL DBMS
ในการเขียนสคริปต์นี้ เราต้องเข้าใจว่าการลงทะเบียนผู้ใช้คืออะไร การลงทะเบียนผู้ใช้จะได้รับข้อมูลจากผู้ใช้จริง การประมวลผลและการจัดเก็บข้อมูล
ถ้าอธิบาย พูดง่ายๆจากนั้นการลงทะเบียนเป็นเพียงการบันทึกและจัดเก็บข้อมูลบางอย่างซึ่งเราสามารถอนุญาตผู้ใช้ในกรณีของเรา - นี่คือการเข้าสู่ระบบและรหัสผ่าน
การอนุญาตคือการให้สิทธิ์แก่บุคคลหรือกลุ่มบุคคลในการดำเนินการบางอย่างตลอดจนกระบวนการตรวจสอบสิทธิ์เหล่านี้เมื่อพยายามดำเนินการเหล่านี้ พูดง่ายๆ ก็คือ โดยใช้การอนุญาต เราสามารถจำกัดการเข้าถึงเนื้อหาอย่างใดอย่างหนึ่งบนเว็บไซต์ของเราได้
ลองพิจารณาโครงสร้างของไดเร็กทอรีสคริปต์สำหรับการดำเนินการลงทะเบียนของเราโดยได้รับอนุญาต เราจำเป็นต้องแบ่งสคริปต์ออกเป็นส่วนประกอบทางตรรกะ เราได้วางโมดูลการลงทะเบียนและการอนุญาตในไดเร็กทอรีแยกต่างหาก เราจะทำการเชื่อมต่อกับฐานข้อมูลในไดเร็กทอรีแยกต่างหาก MySQL, ไฟล์ที่มีฟังก์ชั่นกำหนดเอง, ไฟล์สไตล์ CSSและแม่แบบของเรา Html... โครงสร้างนี้ช่วยให้คุณนำทางสคริปต์ได้อย่างรวดเร็ว ลองนึกภาพคุณมีไซต์ขนาดใหญ่ที่มีโมดูลจำนวนมาก ฯลฯ และถ้าไม่มีระเบียบ จะหาของยุ่งๆ แบบนี้ยากมาก
เนื่องจากเราจะจัดเก็บข้อมูลทั้งหมดไว้ใน MySQL DBMSจากนั้นมาสร้างตารางเล็ก ๆ ที่เราจะเก็บข้อมูลการลงทะเบียน
ขั้นแรก คุณต้องสร้างตารางในฐานข้อมูล ตารางจะเรียกว่า bez_regที่ไหน bezเป็นคำนำหน้าตารางและ ทะเบียนชื่อของตาราง
โครงสร้างตาราง: bez_reg
- - โครงสร้างตาราง `bez_reg` - สร้างตารางหากไม่มีอยู่` bez_reg` (`id` int (11) ไม่ใช่ NULL AUTO_INCREMENT `ล็อกอิน' varchar (200) ไม่ใช่ NULL `ผ่าน' varchar (32) ไม่ใช่ NULL `เกลือ ` varchar (32) ไม่ใช่ค่าว่าง `active_hex` varchar (32) ไม่ใช่ค่าว่าง `สถานะ' int (1) ไม่ใช่ค่าว่าง คีย์หลัก (`id')) เครื่องยนต์ = MyISAM ค่าเริ่มต้น CHARSET = utf8 AUTO_INCREMENT = 1;ตอนนี้เรามาสร้างสคริปต์หลักสำหรับการทำงานต่อไป
ไฟล์ INDEX.PHP
ไฟล์ CONFIG.PHP
!defined("BEZ_KEY")) { header("HTTP/1.1 404 Not Found"); exit(file_get_contents("./404.html")); } //Адрес базы данных define("BEZ_DBSERVER","localhost"); //Логин БД define("BEZ_DBUSER",""); //Пароль БД define("BEZ_DBPASSWORD",""); //БД define("BEZ_DATABASE",""); //Префикс БД define("BEZ_DBPREFIX","bez_"); //Errors define("BEZ_ERROR_CONNECT","Немогу соеденится с БД"); //Errors define("BEZ_NO_DB_SELECT","Данная БД отсутствует на сервере"); //Адрес хоста сайта define("BEZ_HOST","http://". $_SERVER["HTTP_HOST"] ..ru>"); ?>
404.html ไฟล์
ข้อผิดพลาด404 |
เกิดข้อผิดพลาด 404 บนหน้า |
กลับ |
ไฟล์ BD.PHP
!defined("BEZ_KEY")) { header("HTTP/1.1 404 Not Found"); exit(file_get_contents("./../404.html")); } //Соединение с БД MySQL $db_connect = mysql_connect(BEZ_DBSERVER, BEZ_DBUSER, BEZ_DBPASSWORD) or die(BEZ_ERROR_CONNECT); define("BEZ_CONNECT", $db_connect); mysql_select_db(BEZ_DATABASE, BEZ_CONNECT)or die(BEZ_NO_DB_SELECT); //Устанавливаем кодировку UTF8 mysql_query ("SET NAMES utf8"); mysql_query ("set character_set_client="utf8""); mysql_query ("set character_set_results="utf8""); mysql_query ("set collation_connection="utf8_general_ci""); ?>
ไฟล์ INDEX.HTML
ไฟล์ FUNCT.PHP
!defined("BEZ_KEY")) { header("HTTP/1.1 404 Not Found"); exit(file_get_contents("./../404.html")); } /**Функция экранирования вносимых данных *@param array $data */ function escape_str($data) { if(is_array($data)) { if(get_magic_quotes_gpc()) $strip_data = array_map("stripslashes", $data); $result = array_map("mysql_real_escape_string", $strip_data); return $result; } else { if(get_magic_quotes_gpc()) $data = stripslashes($data); $result = mysql_real_escape_string($data); return $result; } } /**Отпровляем сообщение на почту * @param string $to * @param string $from * @param string $title * @param string $message */ function sendMessageMail($to, $from, $title, $message) { //Адресат с отправителем //$to = $to; //$from = $from; //Формируем заголовок письма $subject = $title; $subject = "=?utf-8?b?". base64_encode($subject) ."?="; //Формируем заголовки для почтового сервера $headers = "Content-type: text/html; charset=\"utf-8\"\r\n"; $headers .= "From: ". $from ."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Date: ". date("D, d M Y h:i:s O") ."\r\n"; //Отправляем данные на ящик админа сайта if(!mail($to, $subject, $message, $headers)) return "Ошибка отправки письма!"; else return true; } /**функция вывода ошибок * @param array $data */ function showErrorMessage($data) { $err = "
- "." \ n "; if (is_array ($ data)) (foreach ($ data as $ val) $ err. ="
- ". $ วาล." "." \ n ";) อื่น ๆ $ err. ="
- ". $ ข้อมูล" "." \ n "; $ err. ="
มาลงมือเขียนทะเบียนกันเถอะ ขั้นแรก เราจะต้องสร้างเทมเพลตแบบฟอร์มการลงทะเบียนเพื่อให้ผู้ใช้สามารถป้อนข้อมูลของเขาสำหรับการประมวลผล ต่อไปเราจะต้องเขียนตัวจัดการแบบฟอร์มซึ่งจะตรวจสอบความถูกต้องของข้อมูลผู้ใช้ที่ป้อน หลังจากที่ข้อมูลได้รับการยืนยันเรียบร้อยแล้ว เราจะเขียนลงในฐานข้อมูลของเราและส่งจดหมายไปยังผู้ใช้เพื่อเปิดใช้งานบัญชีของเขา
ไฟล์ REG.PHP
!defined("BEZ_KEY")) { header("HTTP/1.1 404 Not Found"); exit(file_get_contents("./../../404.html")); } //Выводим сообщение об удачной регистрации if(isset($_GET["status"]) and $_GET["status"] == "ok") echo "คุณลงทะเบียนสำเร็จแล้ว! กรุณาเปิดใช้งานบัญชีของคุณ !!"; // เปิดใช้งานบัญชี if (isset ($ _ GET [" key "])) (// ตรวจสอบคีย์ $ sql =" SELECT * FROM `" BEZ_DBPREFIX "Reg` WHERE` active_hex` = "" Escape_str ( $ _GET ["key"]). "" "; $ Res = mysqlQuery ($ sql); if (mysql_num_rows ($ res) == 0) $ err =" รหัสเปิดใช้งานไม่ถูกต้อง! "; // ตรวจสอบข้อผิดพลาดและแสดงให้ผู้ใช้เห็นหาก (นับ ($ err)> 0) echo showErrorMessage ($ err); else (// รับที่อยู่ของผู้ใช้ $ row = mysql_fetch_assoc ($ res); $ email = $ row ["เข้าสู่ระบบ "]; // เปิดใช้งานผู้ใช้บัญชี $ sql = "UPDATE" ". BEZ_DBPREFIX." reg` SET `status' = 1 โดยที่` login` = "" $ email "" "; $ res = mysqlQuery ($ sql ); // ส่งอีเมลเพื่อเปิดใช้งาน $ title = "(! LANG: บัญชีของคุณบน http: // เปิดใช้งานไซต์เรียบร้อยแล้ว"; $message = "Поздравляю Вас, Ваш аккаунт на http://сайт успешно активирован"; sendMessageMail($email, BEZ_MAIL_AUTOR, $title, $message); /*Перенаправляем пользователя на нужную нам страницу*/ header("Location:". BEZ_HOST ."less/reg/?mode=reg&active=ok"); exit; } } /*Если нажата кнопка на регистрацию, начинаем проверку*/ if(isset($_POST["submit"])) { //Утюжим пришедшие данные if(empty($_POST["email"])) $err = "Поле Email не может быть пустым!"; else { if(!preg_match("/^!} [ป้องกันอีเมล](+ \.) + (2,6) $ / i ", $ _POST [" email "])) $ err =" อีเมลที่ป้อนไม่ถูกต้อง "." \ N ";) ถ้า (ว่างเปล่า ($ _ POST [ "pass"])) $ err = "ช่องรหัสผ่านต้องไม่ว่างเปล่า"; if (empty ($ _ POST ["pass2"])) $ err = "ช่องยืนยันรหัสผ่านต้องไม่ว่างเปล่า"; // ตรวจสอบข้อผิดพลาด และแสดงให้ผู้ใช้เห็น if (count ($ err)> 0) echo showErrorMessage ($ err); else (/ * ตรวจสอบข้อมูลที่ป้อนต่อไป ตรวจสอบรหัสผ่านสำหรับการจับคู่ * / if ($ _ POST ["pass"]! = $ _POST ["pass2" ]) $ err = "รหัสผ่านไม่ตรงกัน"; // ตรวจสอบข้อผิดพลาดและแสดงให้ผู้ใช้เห็นหาก (นับ ($ err)> 0) echo showErrorMessage ($ err); else (/ * ตรวจสอบ ถ้าเรามีผู้ใช้ดังกล่าวในฐานข้อมูล * / $ sql = "SELECT` login` FROM `". BEZ_DBPREFIX. "reg` WHERE` login` = "". escape_str ($ _ POST ["email"]). "" "; $ res = mysqlQuery ($ sql); if (mysql_num_rows ($ res)> 0) $ err = "ขออภัยในการเข้าสู่ระบบ: ". $ _POST [" อีเมล "]"ไม่ว่าง! "; // ตรวจสอบข้อผิดพลาดและแสดงให้ผู้ใช้เห็นหาก (นับ ($ err)> 0) echo showErrorMessage ($ err); else (// รับ HASH ของเกลือ $ salt = salt (); / / ใส่รหัสผ่าน $ pass = md5 (md5 ($ _ POST ["pass"]) $ salt); / * ถ้าทุกอย่างเรียบร้อยดี ให้เขียนข้อมูลลงในฐานข้อมูล * / $ sql = "INSERT INTO` " BEZ_DBPREFIX ." reg` VALUES ("", "" . escape_str ($ _ POST ["email"]) "", "". $ pass. "", "". $ salt. "", "". md5 ( $ เกลือ) "", 0) "; $ res = mysqlQuery ($ sql); // กำลังส่งอีเมลเพื่อเปิดใช้งาน $ url = BEZ_HOST "less / reg /? mode = reg & key =". md5 ($ เกลือ) ); $ title = "(! LANG: ลงทะเบียนที่ http: / /site"; $message = "Для активации Вашего акаунта пройдите по ссылке ". $url .""; sendMessageMail($_POST["email"], BEZ_MAIL_AUTOR, $title, $message); //Сбрасываем параметры header("Location:". BEZ_HOST ."less/reg/?mode=reg&status=ok"); exit; } } } } ?>!}
REG_FORM.HTML ไฟล์
การลงทะเบียนผู้ใช้ PHP MySQL พร้อมการเปิดใช้งานอีเมล
ฟิลด์ที่มีไอคอน *จำเป็น
เนื่องจากเราพร้อมที่จะลงทะเบียนผู้ใช้แล้ว ก็ถึงเวลาเขียนการอนุญาต มาสร้างแบบฟอร์มการให้สิทธิ์ผู้ใช้ จากนั้นเขียนตัวจัดการแบบฟอร์มการให้สิทธิ์ และสร้างสคริปต์ show.phpซึ่งจะแสดงให้เราเห็นว่าเราได้รับอนุญาตในระบบหรือไม่
AUTH.PHP ไฟล์
!defined("BEZ_KEY")) { header("HTTP/1.1 404 Not Found"); exit(file_get_contents("./../../404.html")); } //Если нажата кнопка то обрабатываем данные if(isset($_POST["submit"])) { if(empty($_POST["email"])) $err = "Не введен Логин"; if(empty($_POST["pass"])) $err = "Не введен Пароль"; //Проверяем наличие ошибок и выводим пользователю if(count($err) >0) echo showErrorMessage ($ err); อื่น (/ * สร้างแบบสอบถามเพื่อดึงข้อมูลจากฐานข้อมูลเพื่อตรวจสอบความถูกต้องของผู้ใช้ * / $ sql = "SELECT * FROM` ". BEZ_DBPREFIX." reg` WHERE `login` =" ". escape_str ($ _ POST [ " email "]) . "" AND `status` = 1"; $ res = mysqlQuery ($ sql); // หากการเข้าสู่ระบบตรงกัน ให้ตรวจสอบรหัสผ่านหาก (mysql_num_rows ($ res)> 0) (// รับข้อมูล จากตาราง $ row = mysql_fetch_assoc ( $ res); if (md5 (md5 ($ _ POST ["pass"]) $ row ["salt"]) == $ row ["pass"]) ($ _SESSION [ "ผู้ใช้"] = true; // รีเซ็ตส่วนหัวของพารามิเตอร์ ("ตำแหน่ง:". BEZ_HOST "น้อยกว่า / reg /? Mode = auth"); exit;) อื่น echo showErrorMessage ("รหัสผ่านไม่ถูกต้อง!");) อื่น echo showErrorMessage ("เข้าสู่ระบบ ". $ _POST [" อีเมล "]"ไม่พบ! ");))?>
สำหรับผู้ที่มี PHP เวอร์ชันล่าสุด ผมโพสต์สคริปต์นี้โดยใช้ PDOตั้งแต่ ส่วนขยาย MySQLเลิกใช้และนำออกจาก PHP เวอร์ชันใหม่กว่า ดาวน์โหลดการลงทะเบียนและการอนุญาต php mysql pdo
ที่เก็บถาวรได้รับการอัปเดตเมื่อวันที่ 24 กุมภาพันธ์ 2015
ความสนใจ:หากคุณกำลังใช้สคริปต์นี้บนเซิร์ฟเวอร์ท้องถิ่นเช่น เดนเวอร์,XAMPPแล้วคุณไม่ควรรอจดหมายถึงกล่องจดหมายของคุณ ตัวอักษรอยู่ในช่องว่าง ส่งอีเมล์... วี เดนเวอร์คุณจะพบได้ตลอดทาง Z: \ tmp \! Sendmail \คุณสามารถเปิดไฟล์เหล่านี้ในโปรแกรมรับส่งเมลใดก็ได้
หากการต่ออายุของบริการจดทะเบียนโดเมน .RU, .РФ และ SU ไม่ได้รับการชำระก่อนวันหมดอายุ บริการจะถูกระงับ (การมอบหมายโดเมนถูกยกเลิก) ในวันที่ระบุในช่องการชำระเงินจนถึงวันที่ในบริการ Whois หากวันที่ปิดระบบตามกำหนดการตรงกับวันหยุดสุดสัปดาห์หรือวันหยุดนักขัตฤกษ์ การปิดโดเมนจะถูกยกยอดไปยังวันทำการแรกหลังจากวันหยุดสุดสัปดาห์
หลังจากการระงับการมอบหมายโดเมน คำขอ http ทั้งหมดไปยังโดเมนจะถูกเปลี่ยนเส้นทางไปยังหน้าบริการพร้อมข้อมูลเกี่ยวกับความล้มเหลวในการให้บริการชั่วคราว ผู้ดูแลระบบของโดเมน .RU และ .РФ สามารถปฏิเสธที่จะถูกเปลี่ยนเส้นทางไปยังหน้าบริการก่อนสิ้นสุดระยะเวลาการจดทะเบียนชื่อโดเมน โดยส่งคำขอในรูปแบบใดก็ได้ไปยังที่อยู่
ภายใน 30 วันหลังจากสิ้นสุดบริการ (ในช่วงระยะเวลาการต่ออายุสิทธิพิเศษ) ผู้ลงทะเบียนโดเมน .RU, .РФ หรือ.SU ยังคงมีโอกาสชำระค่าต่ออายุ
ในกรณีที่ชำระเงิน การให้บริการจะดำเนินต่อไป
การลบโดเมน .RU, .SU, .РФ จากสำนักทะเบียนสำหรับการไม่ชำระเงิน
หากการต่ออายุการจดทะเบียนโดเมนไม่ได้รับการชำระเงินภายใน 30 วันหลังจากสิ้นสุด (ในช่วงระยะเวลาการต่ออายุสิทธิพิเศษ) การจดทะเบียนจะถูกยกเลิก (โดเมนถูกปล่อยออก)
เผยแพร่ในฟิลด์ free-date ของข้อมูลเกี่ยวกับโดเมนหลังจากสิ้นสุดระยะเวลาการจดทะเบียน
RU-CENTER สามารถลบโดเมน .SU ได้ทุกเมื่อนับจากวันที่กำหนดวันว่างตามแผน หากสิ่งนี้ไม่เกิดขึ้น ศูนย์เทคนิคจะลบโดเมนโดยอัตโนมัติ
ในช่วงระยะเวลาการต่ออายุที่จองไว้ล่วงหน้า ชื่อโดเมน .RU และ .РФ จะไม่ถูกยกเลิก
วันที่ลบโดเมนโดยศูนย์เทคนิค
โดเมน .RU, .РФ และ SU ถูกลบโดยศูนย์เทคนิคในวันที่ตรงกับวันที่ต้องการลบตามแผน (วันที่ว่าง)
โดเมน .RU, .РФ หรือ.SU จะถูกลบในวันทำการที่สองหลังจากวันหยุดสุดสัปดาห์ หากวันที่ลบตรงกับวันหยุดสุดสัปดาห์หรือหนึ่งวันหลังจากวันหยุดสุดสัปดาห์
ขั้นตอนการลบโดเมนในศูนย์เทคนิคเริ่มทำงาน:
- สำหรับโดเมน .RU, .РФ เวลา 17:00 น. (MSK)
- สำหรับโดเมน.SU เวลา 19:30 น. (MSK)
การลงทะเบียนผ่าน RU-CENTER ของโดเมน .RU, .SU, .РФ อาจมีการอนุญาต
การสมัครขอจดทะเบียนโดเมนที่ออกจาก Registry สามารถส่งได้ที่ www..site / ประมูล / เซิร์ฟเวอร์ ก่อนที่โดเมนจะออกจาก Registry
สำหรับโดเมน .RU และ .РФ แอปพลิเคชันจะเริ่มรับใบสมัคร 30 วันก่อนวันที่โดเมนออกจากสำนักทะเบียนตามบริการสำหรับการจดทะเบียนโดเมนที่เผยแพร่ในโดเมน RU และ RF
สำหรับโดเมน SU - เมื่อใดก็ได้ก่อนที่โดเมนจะออกจาก Registry ตามบริการจดทะเบียนสำหรับโดเมนที่ว่างใน SU, COM.RU, NET.RU, ORG.RU, โดเมน PP.RU และ geodomains
สำหรับโดเมน .RU, .SU, .РФ - ในวันที่โดเมนถูกลบออกจาก Registry ผ่านเว็บอินเตอร์เฟสบนเพจ ในขณะที่:
- จดหมายเกี่ยวกับการดำเนินการจะถูกส่งไปยังที่อยู่ติดต่อของบุคคลที่สมัคร
2. ต่างประเทศและต่างประเทศ
หากไม่มีการชำระค่าต่ออายุบริการก่อนสิ้นสุดระยะเวลาที่มีผลบังคับใช้ การให้บริการจะถูกระงับ (การมอบอำนาจโดเมนจะถูกยกเลิก) ในวันถัดไปหลังจากวันที่ระบุในฟิลด์วันที่หมดอายุใน หากวันที่ปิดระบบตามกำหนดการตรงกับวันหยุดสุดสัปดาห์หรือวันหยุดนักขัตฤกษ์ การปิดระบบโดเมนจะถูกยกยอดไปยังวันทำการที่สองหลังจากวันหยุดสุดสัปดาห์
ภายใน 30 วันหลังจากสิ้นสุดบริการ ผู้ดูแลระบบโดเมนยังคงมีโอกาสชำระเงินสำหรับการต่ออายุ ในกรณีที่ชำระเงิน การให้บริการจะดำเนินต่อไป
การลบโดเมนออกจากทะเบียนโดเมนระหว่างประเทศและต่างประเทศ
หากการต่ออายุการจดทะเบียนโดเมนไม่ได้รับการชำระเงินภายใน 30 วันนับจากวันที่บริการหมดอายุ RU-CENTER จะเริ่มขั้นตอนการลบโดเมนในสำนักทะเบียน หากวันที่ลบตรงกับวันหยุดสุดสัปดาห์หรือวันหยุดนักขัตฤกษ์ การเริ่มขั้นตอนการลบโดเมนจะเลื่อนไปเป็นวันทำการที่สองหลังจากวันหยุดสุดสัปดาห์
ขั้นตอนการลบโดเมนใน Registry ใช้เวลา 35 วัน ข้อยกเว้นคือ:
- โดเมน .HN ซึ่งการลบมีระยะเวลา 15 วัน และไม่สามารถกู้คืนหรือต่ออายุโดเมนได้ในช่วงเวลานี้
- โดเมน .NAME ซึ่งจะถูกลบหลังจาก 30 วันหลังจากสิ้นสุดระยะเวลาการจดทะเบียน
- โดเมน .KZ ซึ่งจะถูกลบหลังจาก 20 วันหลังจากสิ้นสุดระยะเวลาการจดทะเบียน
ในกรณีนี้ Registry เป็นเวลา 30 วันจะกำหนดสถานะที่สอดคล้องกันสำหรับโดเมนใน:
.NET, .COM, .CC, .TV, .AG, .BZ, .LC, .MN, .SC, .VC - ระยะเวลาไถ่ถอน,
.BIZ, .TEL - กำลังรอการลบ
.INFO, .ORG, .ME, .MOBI, .AERO, .TRAVEL, .XXX, .PRO - PendingDelete กู้คืนได้
วันที่เริ่มต้นของระยะเวลาสามสิบวันระบุไว้ในฟิลด์:
วันที่อัปเดตสำหรับโดเมน .NET, .COM, .CC, .TV, .AG, .BZ, .HN, .LC, .MN, .SC, .VC
วันที่อัปเดตล่าสุดของโดเมน - BIZ, .TEL หรือ
อัปเดตล่าสุดเมื่อ - INFO, .ORG, .ME, .MOBI, .AERO, .TRAVEL, .XXX, .PRO
การกู้คืนโดเมน
ภายใน 25 วันนับจากเริ่มขั้นตอนการลบ โดเมนสามารถกู้คืนและต่ออายุได้ (ยกเว้น .HN, NAME, .KZ) ตามคำขอของผู้ดูแลระบบโดเมน
หากโดเมนไม่ได้รับการฟื้นฟูและต่ออายุ โดเมนนั้นจะถูกลบออกจากสำนักทะเบียน 5 วันหลังจากสิ้นสุดระยะเวลาการไถ่ถอน (รอการลบหรือรอการลบที่กู้คืนได้) ในช่วง 5 วันนี้ (สถานะโดเมนใน Registry - PendingDelete) จะไม่สามารถกู้คืน ต่ออายุ หรือจดทะเบียนโดเมนได้
หลังจากที่โดเมนถูกลบออกจาก Registry แล้ว บุคคลใดๆ ก็สามารถลงทะเบียนโดเมนได้
3. โดเมนระดับ 3
การลบการมอบหมายโดเมนสำหรับการไม่ชำระเงิน
หากไม่มีการชำระค่าต่ออายุบริการก่อนสิ้นสุดระยะเวลาที่มีผลใช้งาน การให้บริการจะถูกระงับ (การมอบอำนาจโดเมนจะถูกยกเลิก) ในวันถัดไปหลังจากวันที่ระบุในช่องชำระเงินในบริการ Whois สำหรับโดเมน .NET.RU, .ORG.RU และ .PP.RU บริการจะถูกระงับ (การมอบหมายโดเมนถูกยกเลิก) ในวันที่ระบุในช่องการชำระเงินจนถึงค่าบริการ Whois
หากวันที่ปิดระบบตามกำหนดการตรงกับวันหยุดสุดสัปดาห์หรือวันหยุดนักขัตฤกษ์ การปิดระบบโดเมนจะถูกยกยอดไปยังวันทำการที่สองหลังจากวันหยุดสุดสัปดาห์
หลังจากการระงับการมอบหมายโดเมน คำขอ http ทั้งหมดไปยังโดเมน .NET.RU, .ORG.RU และ .PP.RU จะถูกเปลี่ยนเส้นทางไปยังเว็บไซต์ทางการของ .NET.RU, .ORG.RU และ .PP.RU ผู้ดูแลระบบโดเมน TsVKS "MSK-IX" พร้อมข้อมูลเกี่ยวกับเหตุผลในการยุติการมอบหมาย
ภายใน 30 วันหลังจากสิ้นสุดบริการ (ระยะเวลาการต่ออายุที่จองไว้ล่วงหน้า) ผู้ดูแลระบบโดเมนยังคงมีโอกาสชำระเงินสำหรับการต่ออายุ ในกรณีที่ชำระเงิน การให้บริการจะดำเนินต่อไป
ในช่วงระยะเวลาต่ออายุชั่วคราว โดเมน .NET.RU, .ORG.RU และ .PP.RU จะไม่ถูกยกเลิก
หากมีการชำระค่าต่ออายุบริการในวันทำการสุดท้ายของระยะเวลาการต่ออายุสิทธิพิเศษ RU-CENTER จะไม่รับผิดชอบต่อการต่ออายุที่สำเร็จ
การลบโดเมน
การจดทะเบียนชื่อโดเมนระดับที่สามจะถูกยกเลิก (โดเมนถูกปล่อยออก) หากไม่ต่ออายุภายใน 30 (สามสิบ) วันตามปฏิทินนับจากวันหมดอายุของการจดทะเบียนชื่อโดเมน
วันที่เผยแพร่โดเมนที่วางแผนไว้ถูกเผยแพร่ในช่อง free-date ในข้อมูลโดเมนในบริการ RU-CENTER Whois หลังจากสิ้นสุดระยะเวลาการลงทะเบียน ในกรณีนี้ การลบจะทำหนึ่งวันหลังจากวันที่เผยแพร่ตามแผน ถ้าวันที่ลบ (free-date + 1) ไม่ตรงกับวันที่ไม่ทำงานหรือวันถัดจากวันที่ไม่ทำงาน (มิฉะนั้น การลบจะทำในวันทำการที่สองหลังจากวันหยุดสุดสัปดาห์)
โดเมน .NET.RU, .ORG.RU และ .PP.RU จะถูกลบออกโดยศูนย์เทคนิคในวันที่ตรงกับวันที่ลบที่วางแผนไว้ (วันที่ไม่มีกำหนด) โดเมน .NET.RU, .ORG.RU และ .PP.RU จะถูกลบในวันทำการที่สองหลังจากวันหยุดสุดสัปดาห์ หากวันที่ลบตรงกับวันหยุดสุดสัปดาห์หรือหนึ่งวันหลังจากวันหยุดสุดสัปดาห์
การลงทะเบียนผ่าน RU-CENTER ของโดเมนระดับที่สามกำลังออก
แอปพลิเคชันสำหรับการลงทะเบียนโดเมนที่ว่างจาก Registry หรือโดเมน .COM.RU สามารถส่งได้ที่ www..site / ประมูล / เซิร์ฟเวอร์ได้ตลอดเวลาก่อนที่โดเมนจะถูกปล่อยออกจาก Registry ตามบริการ "การลงทะเบียนโดเมนที่ว่างใน SU , .COM.RU โดเมนและจีโอโดเมน”
ในวันที่ลบโดเมน แอปพลิเคชันสำหรับบริการจดทะเบียนโดเมนจะได้รับการยอมรับผ่านทางเว็บอินเทอร์เฟซบนหน้าเว็บ ในขณะที่:
- แอปพลิเคชันได้รับความพึงพอใจหากโดเมนว่างในขณะดำเนินการ
- จดหมายจะถูกส่งไปยังที่อยู่อีเมลติดต่อของบุคคลที่สมัครเกี่ยวกับการดำเนินการ
การตรวจสอบวันที่ต่ออายุชื่อโดเมนเป็นการกระทำที่ไม่ควรมองข้าม ฉันเขียนเกี่ยวกับเรื่องนั้นแล้ว และตอนนี้เรามาจัดการกับปัญหาทั่วไปอื่น - การหมดอายุของระยะเวลาการจดทะเบียนชื่อโดเมนโดยไม่คาดคิด ดูเหมือนว่าผู้รับจดทะเบียนทั้งหมดในปัจจุบันจะเตือนเรื่องนี้ล่วงหน้า (และโดยปกติหลายครั้ง) แต่ปัญหาคือ จดหมายเหล่านี้ไม่อ่าน หรือไม่ก็จบลงด้วยสแปม โดยทั่วไป ไม่ใช่ทุกคนที่ทราบว่าระยะเวลาการจดทะเบียนชื่อโดเมนใกล้จะหมดลงแล้ว เป็นผลให้ไซต์ไม่ทำงานผู้คนไม่เข้าใจว่าทำไมและบางครั้งใช้เวลามากในการทำความเข้าใจว่าเกิดอะไรขึ้น ในขณะเดียวกัน ชื่อโดเมนจะหายไปจากแคช DNS และหลังจากนั้นสองสามวัน (หรือเร็วกว่านั้น ขึ้นอยู่กับปัจจัยต่างๆ) ผู้เยี่ยมชมจะหยุดไปที่ไซต์ มาดูวิธีการตรวจสอบวันหมดอายุของการจดทะเบียนชื่อโดเมนกัน โดยธรรมชาติแล้วสคริปต์ทุบตี
วิธีรับวันที่จดทะเบียนชื่อโดเมน
ตัวเลือกที่ง่ายที่สุดคือการใช้ฐานข้อมูล whois ทั่วโลก เก็บข้อมูลเกี่ยวกับชื่อโดเมน เช่น องค์กร ผู้รับผิดชอบ รายละเอียดการติดต่อ วันที่จดทะเบียน และวันหมดอายุการจดทะเบียน และนี่คือสิ่งที่เราต้องการ ลองใช้โดเมนยอดนิยมเป็นตัวอย่าง ปล่อยให้มันเป็น yandex.ru นี่คือข้อมูลที่เก็บไว้ในฐานข้อมูล whois เกี่ยวกับโดเมนนี้:
$ whois yandex.ru% เมื่อส่งคำถามไปยัง Whois Service ของ RIPN% คุณตกลงที่จะปฏิบัติตามข้อกำหนดการใช้งานต่อไปนี้:% http://www.ripn.net/about/servpol.html#3.2 (ในภาษารัสเซีย) % http://www.ripn.net/about/en/servpol.html#3.2 (ภาษาอังกฤษ) โดเมน: YANDEX.RU nserver: ns1.yandex.ru 213.180.193.1, 2a02: 6b8 :: 1 nserver: ns2.yandex.ru.93.158.134.1, 2a02: 6b8: 0: 1 :: 1 state: REGISTERED, DELEGATED, VERIFIED org: YANDEX, LLC.registrar: RU-CENTER-RU admin-contact: https: // www. nic.ru/whois สร้าง: 1997.09.23 จ่ายจนถึง: 2017.10.01 ฟรีวันที่: 2017.11.01 แหล่งที่มา: TCI อัปเดตล่าสุดเมื่อ 2017.01.03 05:46:31 MSK
ฟิลด์ที่เราสนใจคือ "paid-till" ซึ่งเป็นวันที่ที่เราได้ชำระเงินสำหรับโดเมนแล้ว
เราจะตรวจสอบวันที่ต่ออายุชื่อโดเมนในลักษณะเดียวกับการตรวจสอบใบรับรอง แต่ง่ายกว่ามาก เราได้รับข้อมูลโดเมน ค้นหาฟิลด์ที่มีวันหมดอายุการจดทะเบียน หากมี (หากข้อมูล whois สำหรับโดเมนนี้ไม่ถูกปิด) รับวันที่นี้ รับวันที่ของวันนี้ และแสดงส่วนต่างเป็นวัน หากต้องการ คุณสามารถเพิ่มการส่งจดหมายได้ถ้ามี พูดได้ว่า เหลือน้อยกว่า 30 วันก่อนสิ้นสุดการลงทะเบียน แต่มันไม่ง่ายอย่างนั้น เนื่องจากมีบันทึกการหมดอายุการจดทะเบียนอย่างน้อยสามประเภท ครั้งแรกมีลักษณะเช่นนี้:
จ่ายจนถึง: 2017.10.01
ที่สองมีลักษณะดังนี้:
วันที่ลงทะเบียนนายทะเบียนหมดอายุ: 2020-09-13T21: 00: 00-0700
และที่สามมีลักษณะดังนี้:
วันที่หมดอายุของรีจิสทรี: 2018-05-11T04: 00: 00Z
และด้วยเหตุนี้เราจึงจำเป็นต้องจัดเตรียมทั้งสามตัวเลือก หรือถ้ามีที่สี่ก็ที่สี่ มาจัดการกับสามคนนี้ก่อน
นี่คือลักษณะของสคริปต์:
#! / bin / bash # หากไม่ได้ระบุพารามิเตอร์ให้แสดงคำใบ้และออกถ้า ["$ 1" == ""] แล้ว cat<< EOF Script that monitors how many days left until domain registration ends. Usage: $(basename $0) domain.name EOF exit fi # Получаем строку, содержащую дату окончания регистрации PAIDTILL=$(whois $1 | grep "paid-till\|Registrar Registration Expiration Date\|Registry Expiry Date") # Если такая строка не найдена, выходим с ошибкой if [ -z "$PAIDTILL" ] then echo "Registration end date is not available in whois database" exit 1 else # Если дата выглядит как ГГГГ.ММ.ДД, то добавляем 00:00:00 в конец [[ "$PAIDTILL" =~ "paid-till" ]] && PAIDTILL=${PAIDTILL//./-}" 00:00:00" # Удаляем из строки всё до двоеточия, само двоеточие # плюс автоматически будут удалены пробелы PAIDTILL=${PAIDTILL#*:} # Получаем текущую дату CURRENTDATE=$(date "+%Y-%m-%d %H:%M:%S") # Находим разницу между датами, получаем количество оставшихся дней DAYS_LEFT=$((($(date -d "$PAIDTILL" +%s) - $(date -d "$CURRENTDATE" +%s)) / 86400)) # Выводим, сколько дней осталось echo $DAYS_LEFT days left fi
นี่คือผลลัพธ์ของสคริปต์นี้สำหรับโดเมนต่างๆ ในขณะที่เขียนบทความนี้:
$ ./check-dn-reg.sh linux.org เหลือ 492 วัน $ ./check-dn-reg.sh yahoo.com เหลือ 2206 วัน $ ./check-dn-reg.sh yandex.ru 270 วันเหลือ $ /check-dn-reg.sh google.com เหลืออีก 1349 วัน $ ./check-dn-reg.sh ok.ru เหลืออีก 331 วัน $ ./check-dn-reg.sh vk.com 170 วันเหลือ $ ./check -dn-reg.sh linux.org เหลือ 492 วัน $ ./check-dn-reg.sh linux.org.ru เหลืออีก 345 วัน
เห็นด้วย ดูสบายตา การตรวจสอบวันที่ต่ออายุชื่อโดเมนด้วยสคริปต์ขนาด 660 ไบต์เท่านั้น สามารถใช้ในการตรวจสอบกับ Nagios หรือ Zabbix ได้แล้ว
หากมีการเพิ่มเติม แสดงความคิดเห็น เขียนในความคิดเห็น