Počítače Okna Internet

Datum katastrofy je dostupné v html. Sledování data obnovení názvu domény. Nyní vytvoříme hlavní skripty pro další práci.

Dobrý den přátelé! Pojďme se s vámi podívat na registraci uživatelů v PHP. Nejprve definujme podmínky pro naši registraci uživatele:

  • Heslo zašifrujeme pomocí algoritmu MD5
  • Heslo bude „nasoleno“
  • Zkontrolujte dostupnost Přihlášení
  • Aktivace uživatele dopisem.
  • Zápis a ukládání dat do MySQL DBMS

Abychom mohli napsat tento skript, musíme pochopit, co je registrace uživatele. Registrace uživatele přijímá data od skutečného uživatele, zpracovává a ukládá data.

Pokud vysvětlit jednoduchými slovy pak registrace je jen zaznamenávání a ukládání určitých údajů, pomocí kterých můžeme uživatele v našem případě autorizovat - jedná se o Přihlášení a Heslo.

Autorizace je udělení určité osobě nebo skupině osob práv k provedení určitých úkonů, jakož i proces ověření těchto práv při pokusu o provedení těchto úkonů. Jednoduše řečeno, pomocí autorizace můžeme omezit přístup k tomu či onomu obsahu na našich webových stránkách.

Zvažme strukturu adresářů skriptů pro implementaci naší registrace s autorizací. Musíme skripty rozdělit na logické součásti. Moduly registrace a autorizace jsme umístili do samostatného adresáře. Rovněž umístíme připojení k databázi do samostatných adresářů. MySQL, soubor s vlastními funkcemi, soubor stylu CSS a naše šablona Html... Tato struktura vám umožňuje rychle procházet skripty. Představte si, že máte velký web se spoustou modulů atd. a pokud není řád, bude velmi těžké v takovém nepořádku něco najít.

Protože budeme ukládat všechna data do MySQL DBMS, pak vytvořme malou tabulku, do které budeme ukládat registrační údaje.

Nejprve je třeba vytvořit tabulku v databázi. Tabulka bude vyvolána bez_reg kde bez je předpona tabulky a reg název tabulky.

Struktura stolu: bez_reg

- - Struktura tabulky `bez_reg` - CREATE TABLE IF NOT EXISTS` bez_reg` (` id` int (11) NOT NULL AUTO_INCREMENT, `login` varchar (200) NOT NULL,` pass` varchar (32) NOT NULL, `salt `varchar (32) NOT NULL,` active_hex` varchar (32) NOT NULL, `status` int (1) NOT NULL, PRIMARY KEY (` id`)) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;

Nyní vytvoříme hlavní skripty pro další práci.

Soubor INDEX.PHP

Soubor CONFIG.PHP

"); ?>

404.html soubor

Chyba 404

Chyba 404

Na stránce došlo k chybě 404

Vrátit se


Soubor BD.PHP

Soubor INDEX.HTML

Registrace uživatele PHP MySQL s aktivací e -mailem



Soubor FUNCT.PHP

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

  • ". $ val."
  • "." \ n ";) else $ err. ="
  • ". $ data."
  • "." \ n "; $ err. =""." \ n "; návrat $ err;) / ** Jednoduchý wrapper pro dotazy MySQL * @param řetězec $ sql * / funkce mysqlQuery ($ sql) ($ res = mysql_query ($ sql); / * Kontrola výsledku Toto ukazuje skutečný dotaz odeslaný do MySQL, stejně jako chybu. Pohodlné pro ladění. * / if (! $ res) ($ message = "Neplatný dotaz:". mysql_error (). "\ n"; $ zpráva. = " Dotaz v plném znění: „. $ Sql; die ($ message);) return $ res;) / ** Simple salt generator * @param string $ sql * / function salt () ($ salt = substr (md5 (uniqid () ), - 8); vrátit $ sůl;)

    Pojďme se pustit do psaní registrace. Nejprve budeme muset vytvořit šablonu registračního formuláře, aby uživatel mohl zadat svá data ke zpracování. Dále budeme muset napsat samotný obslužný program formuláře, který zkontroluje správnost zadaných uživatelských dat. Jakmile jsou data úspěšně ověřena, zapíšeme je do naší databáze a pošleme uživateli dopis, aby si aktivoval svůj účet.

    Soubor REG.PHP

    Úspěšně jste se zaregistrovali! Aktivujte prosím svůj účet !!"; // Aktivujte účet if (isset ($ _ GET [" key "])) (// Zkontrolujte klíč $ sql =" SELECT * FROM `". BEZ_DBPREFIX. "Reg` WHERE` active_hex` =" ". Escape_str ($ _GET ["klíč"]). "" "; $ Res = mysqlQuery ($ sql); if (mysql_num_rows ($ res) == 0) $ err =" Aktivační klíč není správný! "; // Zkontrolovat chyby a zobrazit uživateli, pokud (počet ($ err)> 0) echo showErrorMessage ($ err); else (// Získat adresu uživatele $ row = mysql_fetch_assoc ($ res); $ email = $ row ["přihlášení "]; // Aktivujte uživatele účtu $ sql =" UPDATE` ". BEZ_DBPREFIX." Reg` SET `status` = 1 WHERE` login` =" ". $ Email." ""; $ Res = mysqlQuery ($ sql ); // Odesláním e -mailu aktivujete $ title = "(! LANG: Váš účet na webu http: // byl úspěšně aktivován"; $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("/^!} [chráněno emailem]( + \.) + (2,6) $ / i ", $ _POST [" email "])) $ err =" E-mail zadán nesprávně "." \ N ";) if (prázdný ($ _ POST [ "pass"])) $ err = "Pole pro heslo nemůže být prázdné"; if (prázdné ($ _ POST ["pass2"])) $ err = "Pole pro potvrzení hesla nemůže být prázdné"; // Zkontrolovat chyby a zobrazit uživateli, pokud (počet ($ err)> 0) echo showErrorMessage ($ err); else ( / * Pokračovat v kontrole zadaných údajů Zkontrolovat shodu hesel * / if ($ _ POST ["pass"]! = $ _POST ["pass2"]) $ err = "Hesla se neshodují"; // Zkontrolujte chyby a zobrazte je uživateli, pokud (počet ($ err)> 0) echo showErrorMessage ($ err); else (/ * Zkontrolovat pokud máme takového uživatele v databázi * / $ sql = "SELECT` login` FROM` ". BEZ_DBPREFIX." reg` WHERE` login` = "". escape_str ($ _ POST ["email"]). "" "; $ res = mysqlQuery ($ sql); if (mysql_num_rows ($ res)> 0) $ err =" Omlouváme se Přihlášení: ". $ _POST [" e -mail "]." zaneprázdněno! "; // Zkontrolujte chyby a zobrazte je uživateli, pokud (počet ($ err)> 0) echo showErrorMessage ($ err); else (// Získejte HASH soli $ salt = salt ();/ / Sůl heslo $ pass = md5 (md5 ($ _ POST ["pass"]). $ Salt); / * Pokud je vše v pořádku, zapište data do databáze * / $ sql = "INSERT INTO`". BEZ_DBPREFIX . "reg` HODNOTY (" "," ". escape_str ($ _ POST [" email "])." "," ". $ pass." "," ". $ salt." "," ". md5 ( $ salt). "", 0) "; $ res = mysqlQuery ($ sql); // Odeslání e -mailu k aktivaci $ url = BEZ_HOST." less / reg /? mode = reg & key = ". md5 ($ salt ); $ title = "(! LANG: Registrace na http: / / site"; $message = "Для активации Вашего акаунта пройдите по ссылке ". $url .""; sendMessageMail($_POST["email"], BEZ_MAIL_AUTOR, $title, $message); //Сбрасываем параметры header("Location:". BEZ_HOST ."less/reg/?mode=reg&status=ok"); exit; } } } } ?>!}

    Soubor REG_FORM.HTML

    Registrace uživatele PHP MySQL s aktivací e -mailem

    E-mailem *:
    Heslo *:
    Potvrzení hesla *:

    Pole s ikonou * jsou potřeba

    Protože jsme připraveni zaregistrovat uživatele, je na čase napsat autorizaci. Vytvoříme formulář pro autorizaci uživatele, poté napíšeme obslužný program autorizačního formuláře a nakonec vytvoříme skript show.php který nám ukáže, zda jsme v systému autorizováni nebo ne.

    Soubor AUTH.PHP

    0) echo showErrorMessage ($ err); else ( / * Vytvořte dotaz pro načtení z databáze a ověřte autenticitu uživatele * / $ sql = "SELECT * FROM`". BEZ_DBPREFIX. "reg` WHERE` login` = "". escape_str ($ _ POST [ "email"]). "" AND `status` = 1"; $ res = mysqlQuery ($ sql); // Pokud se přihlášení shoduje, zkontrolujte heslo, pokud (mysql_num_rows ($ res)> 0) (// Získat data z tabulky $ row = mysql_fetch_assoc ($ res); if (md5 (md5 ($ _ POST ["pass"]). $ row ["salt"]) == $ row ["pass"]) ($ _SESSION [ "user"] = true; // Reset hlavičky parametrů ("Umístění:". BEZ_HOST. "Méně / reg /? Mode = auth"); exit;) else echo showErrorMessage ("Chybné heslo!");) Jinak echo showErrorMessage ("Přihlásit se ". $ _POST [" e -mail "]." nenalezeno! ");))?>

    Pro ty, kteří mají nejnovější verzi PHP, zveřejňuji tento skript pomocí PDO od té doby rozšíření MySQL zastaralé a odstraněné z novější verze PHP. Stáhněte si registraci a autorizaci php mysql pdo

    Archiv byl aktualizován 24. února 2015.

    Pozornost: Pokud používáte tento skript na lokálním serveru jako DENWER,XAMPP, pak byste neměli čekat na dopisy do vaší schránky. Písmena jsou prázdná poslat mail... PROTI Denwer můžete je najít po cestě Z: \ tmp \! Sendmail \ tyto soubory můžete otevřít v libovolném poštovním klientovi.

    Pokud obnovení služby registrace domény .RU, .РФ a SU nebude zaplaceno před datem vypršení její platnosti, bude služba pozastavena (delegování domény je zrušeno) v den uvedený v poli placení do služby Whois. Pokud plánované datum vypnutí připadne na víkend nebo svátek, přerušení domény se přenese do prvního pracovního dne po víkendu.

    Po pozastavení delegování domény jsou všechny požadavky http na doménu přesměrovány na stránku služby s informacemi o dočasném selhání při poskytování služby. Správci domén .RU a .РФ mohou odmítnout přesměrování na stránku služby před vypršením období registrace názvu domény zasláním žádosti v jakékoli formě na adresu.

    Do 30 dnů po vypršení platnosti služby (během preferenčního období obnovy) si Držitel registrace domén .RU, .РФ nebo.SU ponechá možnost zaplatit za její obnovení.

    V případě platby se poskytování služby obnoví.

    Odebrání domén .RU, .SU, .РФ z Registru za neplacení

    Pokud není obnova registrace domény uhrazena do 30 dnů po jejím skončení (v preferenčním období obnovy), registrace se ruší (doména je uvolněna).

    Zveřejňuje se v bezplatném datovém poli informací o doméně po uplynutí doby registrace.

    RU-CENTER může odstranit doménu .SU kdykoli od data plánovaného volného data. Pokud se tak nestane, domény jsou technickým centrem automaticky odstraněny.

    Během období předběžného obnovení nebudou doménová jména .RU a .РФ zrušena.

    Datum odstranění domény technickým centrem

    Domény .RU, .РФ a SU jsou vymazány technickým centrem v den odpovídající plánovanému datu vymazání (volné datum).

    Domény .RU, .РФ nebo.SU budou smazány druhý pracovní den po víkendu, pokud datum smazání připadne na víkend nebo den následující po víkendu.

    Začne fungovat postup pro odstranění domén v Technickém centru:

    • pro domény .RU, .РФ v 17:00 (MSK),
    • pro domény.SU v 19:30 (MSK).

    Registrace prostřednictvím RU-CENTER domén .RU, .SU, .РФ podléhá vydání

    Žádosti o registraci domény uvolněné z Registru lze podat na www..site / aukce / server před uvolněním domény z Registru.

    U domén .RU a .РФ začínají být aplikace přijímány 30 dní přede dnem uvolnění domény z Registru v souladu se službou pro registraci uvolněné domény v doménách RU a Ruska.

    Pro domény SU - kdykoli před uvolněním domény z registru v souladu s registrační službou pro uvolněnou doménu v doménách SU, COM.RU, NET.RU, ORG.RU, PP.RU a geodomény.

    U domén .RU, .SU, .РФ - v den, kdy je doména odstraněna z Registru prostřednictvím webového rozhraní na stránce, zatímco:

    • Dopis o provedených akcích je zaslán na kontaktní adresy osoby, která podala žádost.

    2. Mezinárodní a zahraniční

    Pokud není obnovení služby zaplaceno před uplynutím doby její platnosti, bude poskytování služby pozastaveno (delegování domény zrušeno) následující den po datu uvedeném v poli Datum vypršení platnosti v. Pokud datum plánovaného vypnutí připadne na víkend nebo svátek, přerušení domény se přenese do druhého pracovního dne po víkendu.

    Správce domény si ponechá možnost zaplatit za její obnovení do 30 dnů po skončení platnosti služby. V případě platby se poskytování služby obnoví.

    Odebírání domén z registrů v mezinárodních a zahraničních národních doménách

    Pokud neobnovení registrace domény nebude zaplaceno do 30 dnů ode dne vypršení platnosti služby, RU-CENTER zahájí postup odstranění domény v Registru. Pokud datum smazání připadne na víkend nebo svátek, začátek postupu odstranění domény se odloží na druhý pracovní den po víkendu.

    Postup pro odstranění domény z registru trvá 35 dní. Výjimkou jsou:

    • .HN domény, jejichž vymazání trvá 15 dní, a doménu nelze v tomto období obnovit ani obnovit;
    • domény .NAME, které jsou vymazány po 30 dnech po uplynutí období registrace.
    • domény .KZ, které jsou vymazány po 20 dnech po uplynutí registračního období.

    V tomto případě registr na 30 dní nastaví odpovídající stav domény v:
    .NET, .COM, .CC, .TV, .AG, .BZ, .LC, .MN, .SC, .VC - RedemptionPeriod,
    .BIZ, .TEL - Nevyřízené odstranění,
    .INFO, .ORG, .ME, .MOBI, .AERO, .TRAVEL, .XXX, .PRO - PendingDelete Obnovitelné.

    Počáteční datum třicetidenního období je uvedeno v poli:
    Aktualizováno datum pro domény .NET, .COM, .CC, .TV, .AG, .BZ, .HN, .LC, .MN, .SC, .VC
    Datum poslední aktualizace domény - BIZ, .TEL nebo
    Poslední aktualizace - INFO, .ORG, .ME, .MOBI, .AERO, .TRAVEL, .XXX, .PRO.

    Obnovení domény

    Na žádost správce domény lze do 25 dnů od data zahájení procesu odstranění doménu obnovit a obnovit (kromě .HN, NAME, .KZ).

    Pokud doména nebyla obnovena a obnovena, bude odstraněna z registru 5 dní po skončení RedemptionPeriod (Pending Delete nebo PendingDelete Restorable). Během těchto 5 dnů (stav domény v registru - PendingDelete) není možné doménu obnovit, obnovit nebo zaregistrovat.

    Poté, co je doména odstraněna z registru, může ji zaregistrovat jakákoli osoba.

    3. Domény 3. úrovně

    Odebrání delegování domény pro neplacení

    Pokud není obnovení služby zaplaceno před koncem doby její platnosti, bude poskytování služby pozastaveno (delegování domény zrušeno) následující den po datu uvedeném v poli placení do služby Whois. U domén .NET.RU, .ORG.RU a .PP.RU je služba pozastavena (delegování domény je zrušeno) v den uvedený v poli placené pokladny ve službě Whois.

    Pokud datum plánovaného vypnutí připadne na víkend nebo svátek, přerušení domény se přenese do druhého pracovního dne po víkendu.

    Po pozastavení delegování domény jsou všechny požadavky http na domény .NET.RU, .ORG.RU a .PP.RU přesměrovány na oficiální webové stránky .NET.RU, .ORG.RU a .PP.RU správce domén, TsVKS „MSK-IX“, s informací o důvodu ukončení delegování.

    Správce domény si ponechá možnost zaplatit za jeho obnovení do 30 dnů po vypršení platnosti služby (období předběžného obnovení). V případě platby se poskytování služby obnoví.

    Během období předběžného obnovení nebudou domény .NET.RU, .ORG.RU a .PP.RU zrušeny.

    Pokud je platba za obnovení služby provedena poslední pracovní den preferenčního období obnovy, RU-CENTER nenese odpovědnost za úspěšné obnovení.

    Mazání domén

    Registrace názvu domény třetí úrovně je zrušena (doména je uvolněna), pokud nebude obnovena do 30 (třiceti) kalendářních dnů od data vypršení platnosti registrace názvu domény.

    Plánované datum vydání domény je zveřejněno v poli volné datum v informacích o doméně ve službě RU-CENTER Whois po uplynutí doby registrace. V takovém případě je vymazání provedeno o den později než plánované datum vydání, pokud den vymazání (volné datum + 1) nespadá na nepracovní den nebo den následující po nepracovním dni (v opačném případě výmaz se provádí druhý pracovní den po víkendu).

    Domény .NET.RU, .ORG.RU a .PP.RU jsou technickým centrem odstraněny v den odpovídající plánovanému datu odstranění (volné datum). Domény .NET.RU, .ORG.RU a .PP.RU budou odstraněny druhý pracovní den po víkendu, pokud datum smazání připadne na víkend nebo den následující po víkendu.

    Registrace domén třetí úrovně, které budou uvolněny, prostřednictvím RU-CENTER

    Žádosti o registraci uvolněných domén z Registru nebo domén .COM.RU lze podat na www..site / aukce / server kdykoli před uvolněním domén z Registru v souladu se službou „Registrace uvolněných domén v SU .COM.RU domény a geodomény “.

    V den odstranění domény je prostřednictvím webového rozhraní na stránce přijata aplikace pro službu registrace domény, zatímco:

    • aplikace je spokojena, pokud je v době jejího zpracování doména volná;
    • O provedených akcích je na kontaktní e-mailové adresy osoby, která podala žádost, zaslán dopis.

    Sledování data obnovení názvu domény je akce, kterou nelze podceňovat. Už jsem o tom psal a nyní se pojďme zabývat dalším běžným problémem - neočekávaným vypršením období registrace doménového jména. Zdá se, že to dnes všichni registrátoři předem (a obvykle několikrát) připomínají. Problém je ale v tom, že tyto dopisy se buď nečtou, nebo se nějakým způsobem dostanou do spamu. Obecně ne každý si je vědom toho, že jeho registrační období doménových jmen se krátí. Výsledkem je, že stránka nefunguje, lidé nechápou proč a někdy tráví hodně času, aby pochopili, co se děje. Mezitím název domény zmizí z mezipaměti DNS a po několika dnech (nebo dokonce dříve, v závislosti na různých faktorech) se návštěvníci přestanou na web dostávat. Pojďme se podívat, jak sledovat datum vypršení platnosti registrace názvu domény. Přirozeně bash skript.

    Jak zjistit datum registrace doménového jména

    Nejjednodušší možností je použít globální databázi whois. Ukládá informace o doménových jménech, jako je organizace, odpovědná osoba, kontaktní údaje, datum registrace a datum vypršení registrace. A to je přesně to, co potřebujeme. Vezměme si jako příklad populární doménu. Nechte to být yandex.ru. Zde jsou informace uložené v databázi whois o této doméně:

    $ whois yandex.ru% Odesláním dotazu na Whois Service společnosti RIPN% souhlasíte s dodržováním následujících podmínek použití:% http://www.ripn.net/about/servpol.html#3.2 (v ruštině) % http://www.ripn.net/about/en/servpol.html#3.2 (v angličtině). doména: 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 stav: REGISTROVANÝ, DELEGOVANÝ, OVĚŘENÝ org: YANDEX, LLC. registrátor: RU-CENTER-RU admin-kontakt: https: // www. nic.ru/whois created: 1997.09.23 pay-into: 2017.10.01 free-date: 2017.11.01 source: TCI Last updated on 2017.01.03 05:46:31 MSK

    Obor, který nás zajímá, je „pay-till“, to je datum, do kterého jsme za doménu zaplatili.

    Monitorování data obnovení názvu domény provedeme podobně jako monitorování certifikátu, ale mnohem jednodušeji. Získáme data domény, vyhledáme pole obsahující datum vypršení platnosti registrace, pokud je k dispozici (pokud data whois pro tuto doménu nejsou uzavřena), získáme toto datum, zjistíme dnešní datum a zobrazíme rozdíl ve dnech. Pokud si přejete, můžete přidat odeslání dopisu, pokud do konce registrace zbývá řekněme méně než 30 dní. Ale není to tak jednoduché. Protože existují nejméně tři typy záznamů o vypršení platnosti registrace. První vypadá takto:

    Placeno do: 2017.10.01

    Druhý vypadá takto:

    Registrace Registrátora Datum vypršení platnosti: 2020-09-13T21: 00: 00-0700

    A třetí vypadá takto:

    Datum vypršení platnosti registru: 2018-05-11T04: 00: 00Z

    A my tedy musíme zajistit všechny tři možnosti. Nebo pokud existuje čtvrtý, pak čtvrtý. Pojďme se prozatím zabývat těmito třemi.

    Takto vypadá skript:

    #! / bin / bash # Pokud parametr není zadán, zobrazte nápovědu a ukončete, pokud ["$ 1" == ""], pak kočka<< 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

    Zde je výstup tohoto skriptu pro různé domény v době psaní tohoto článku:

    $ ./check-dn-reg.sh linux.org zbývá 492 dní $ ./check-dn-reg.sh yahoo.com zbývá 2206 dní $ ./check-dn-reg.sh yandex.ru zbývá 270 dní $. /check-dn-reg.sh google.com zbývá 1349 dní $ ./check-dn-reg.sh ok.ru zbývá 331 dní $ ./check-dn-reg.sh vk.com zbývá 170 dní $ ./check -dn-reg.sh linux.org zbývá 492 dní $ ./check-dn-reg.sh linux.org.ru zbývá 345 dní

    Souhlas, vypadá to pohodlně. Sledování data obnovení názvu domény se skriptem o velikosti pouze 660 bajtů. Lze jej již použít při monitorování pomocí Nagiosu nebo Zabbixu.

    Pokud existují dodatky, komentáře, napište do komentářů.