คอมพิวเตอร์ Windows อินเทอร์เน็ต

วันที่เกิดภัยพิบัติ 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

"); ?>

404.html ไฟล์

ข้อผิดพลาด404

ข้อผิดพลาด404

เกิดข้อผิดพลาด 404 บนหน้า

กลับ


ไฟล์ BD.PHP

ไฟล์ INDEX.HTML

การลงทะเบียนผู้ใช้ PHP MySQL พร้อมการเปิดใช้งานอีเมล



ไฟล์ FUNCT.PHP

"." \ n "; if (is_array ($ data)) (foreach ($ data as $ val) $ err. ="

  • ". $ วาล."
  • "." \ n ";) อื่น ๆ $ err. ="
  • ". $ ข้อมูล"
  • "." \ n "; $ err. =""." \ n "; return $ err;) / ** wrapper อย่างง่ายสำหรับการสืบค้น MySQL * @param string $ sql * / function mysqlQuery ($ sql) ($ res = mysql_query ($ sql); / * กำลังตรวจสอบผลลัพธ์นี้ แสดงการสืบค้นจริงที่ส่งไปยัง MySQL รวมถึงข้อผิดพลาด สะดวกในการดีบัก * / if (! $ res) ($ message = "Invalid query:". mysql_error () "\ n"; $ message. = " ข้อความค้นหาแบบเต็ม: ". $ sql; die ($ message);) return $ res;) / ** Simple salt generator * @param string $ sql * / function salt () ($ salt = substr (md5 (uniqid ()) ) - 8); คืนค่า $ เกลือ;)

    มาลงมือเขียนทะเบียนกันเถอะ ขั้นแรก เราจะต้องสร้างเทมเพลตแบบฟอร์มการลงทะเบียนเพื่อให้ผู้ใช้สามารถป้อนข้อมูลของเขาสำหรับการประมวลผล ต่อไปเราจะต้องเขียนตัวจัดการแบบฟอร์มซึ่งจะตรวจสอบความถูกต้องของข้อมูลผู้ใช้ที่ป้อน หลังจากที่ข้อมูลได้รับการยืนยันเรียบร้อยแล้ว เราจะเขียนลงในฐานข้อมูลของเราและส่งจดหมายไปยังผู้ใช้เพื่อเปิดใช้งานบัญชีของเขา

    ไฟล์ REG.PHP

    คุณลงทะเบียนสำเร็จแล้ว! กรุณาเปิดใช้งานบัญชีของคุณ !!"; // เปิดใช้งานบัญชี 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 ไฟล์

    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 ได้แล้ว

    หากมีการเพิ่มเติม แสดงความคิดเห็น เขียนในความคิดเห็น