Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TuT] (Php + Mysql) Rejestracja Konta + Aktywacja Mail + Recaptcha


Arymanik

Rekomendowane odpowiedzi

Opublikowano

Witam,

 

Dziś publikuje dla Was skrypt php, pozwalający zakładać nowe konta, lecz wymagający wcześniejszej aktywacji konta Mailem.

 

Po co to? Aby utrudnić życie osobom które zakładają i zakładają konta aby sobie pograć na 1H, SH, MH, Mod'ach, dzięki temu utrudnicie im sprawę. Muszą zakładać konta, następnie je aktywować za każdym razem z innego maila :)

 

Zacznijmy instalacje.

Pierw musimy edytować naszą bazę MySQL.

Dlatego łączymy się przez NaviCat z Bazą.

 

Wybieramy Bazę Danych:

 

account

Wybieramy Tabele:

 

account

Klikamy Prawym Klawiszem Myszy(PPM) na wybraną Tabele i wybieramy:

 

Design Table

Dodajemy w zakładce FIELDS nowe dwie kolumny, tak jak na obrazku niżej:

 

 

sqlv.png

 

 

Zapisujemy klikając w Dyskietkę SAVE i to wszystko :) teraz skrypt.

 

Przed wklejeniem skryptu potrzebujecie Kluczy reCAPTCHA, otrzymacie je wejdziecie na tą stronę:

 

[url="[url="[url="[url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url]"][url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url][/url]"][url="[url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url]"][url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url][/url][/url]"][url="[url="[url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url]"][url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url][/url]"][url="[url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url]"][url="[url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url]"][url="http://www.google.com/recaptcha"]http://www.google.com/recaptcha[/url][/url][/url][/url][/url]

 

Klikacie MY ACCOUNT i loguje się przez konto na google :), jak nie macie, trzeba założyć.

 

Następnie klikacie:

 

ADD NEW SITE

 

Wpisujecie adres strony w formacie domeny, albo adresu IP jeśli domeny nie posiadacie. Zaznaczacie Global KEY i otrzymujecie np:

 


Domain Name: as.pl This is a global key. It will work across all domains.

Public Key: 6LfnlcASAAAAAH_SQTube0gbBkfs9ewqVwErYG01 Use this in the JavaScript code that is served to your users

Private Key: 6LfnlcASAAAAAD-9gigqkXcO4VM28fGTvDj5lMK_ Use this when communicating between your server and our server. Be sure to keep it a secret.

 

 

Dzięki temu posiadamy teraz Private Key i Public Key, teraz musimy pobrać recaptchalib.php i wgrać przez klienta FileZilla/WinSCP/SFTP do katalogu w którym mamy umieszczoną stronę rejestracyjną.

 

Link:

 

[url="[url="[url="http://www.speedyshare.com/files/26328480/recaptchalib.php"]http://www.speedyshare.com/files/26328480/recaptchalib.php[/url]"][url="http://www.speedyshare.com/files/26328480/recaptchalib.php"]http://www.speedyshare.com/files/26328480/recaptchalib.php[/url][/url]"][url="[url="http://www.speedyshare.com/files/26328480/recaptchalib.php"]http://www.speedyshare.com/files/26328480/recaptchalib.php[/url]"][url="http://www.speedyshare.com/files/26328480/recaptchalib.php"]http://www.speedyshare.com/files/26328480/recaptchalib.php[/url][/url][/url]

//Skanu brak, bo jest to kod PHP a nie Wirus :P

 

Skrypt wklejacie w miejsce na swojej stronie rejestracyjnej tam gdzie chcecie :)

 

 

KOD PHP: //Musicie edytować niektóre linijki, aby wszystko działało, co ? gdzie? i jak? Zaznaczone przy pomocy slashy " // " w samym kodzie. Wasza Strona Rejestracyjna powinna nazywać się "rejestracja.php"

 

					<form method="POST" action="rejestracja.php">
			<center><font size="6" color="#ff9c00" face="Tahoma"><b>Rejestracja</font></b></center>
<?php
$connect = mysql_connect("localhost", "Login", "Password");  //Musicie edytować Login i Password wg. swoich danych dostępowych do MySQL.

$message['err_id'] = "Twój login musi mieć minimalnie 4 znaki, lub maksymalnie 16!";				//Możecie edytować tekst pomiędzy ""
$message['err_pass'] = "Zbyt krótkie, lub długie hasło!";				//Możecie edytować tekst pomiędzy ""
$message['err_pass2'] = "Hasła nie są identyczne!";				//Możecie edytować tekst pomiędzy ""
$message['err_social'] = "Kod usunięcia postaci może zawierać tylko cyfry!";				//Możecie edytować tekst pomiędzy ""
$message['err_7cyfr'] = "Kod usunięcia postaci jest zbyt krótki!";				//Możecie edytować tekst pomiędzy ""
$message['err_acccc'] = "Wystąpił błąd podczas zakładania konta";				//Możecie edytować tekst pomiędzy ""
$message['err_acccc1'] = "Pomyślnie Zarejestrowałeś Konto, aby móc zagrać musisz aktywować je przez link wysłany na Mail";				//Możecie edytować tekst pomiędzy ""
$message['err_konto'] = "Wybrany Login jest już zajęty";				//Możecie edytować tekst pomiędzy ""
$message['err_obrazek'] = "Przepisany KOD z Obrazka jest niepoprawny. Spróbuj Ponownie!";				//Możecie edytować tekst pomiędzy ""
$message['err_mailto'] = "Podany Adres Email jest nieprawidłowy!";				//Możecie edytować tekst pomiędzy ""
$message['err_mailtoo'] = "Podany Adres Email jest już zarejestrowany!";				//Możecie edytować tekst pomiędzy ""
if($_POST){



function koniec()
{
echo "<meta http-equiv=\"refresh\" content=\"0; url=rejestracja.php\">"; //Jak wasza strona rejestracyjna nazywa się inaczej niż rejestracja.php zmieńcie tu nazwę!!!
exit;
}

 require_once('recaptchalib.php');
 $privatekey = "PRIVATE KEY";  //Tutaj wklejacie swój Private Key
 $resp = recaptcha_check_answer ($privatekey,
                           	$_SERVER["REMOTE_ADDR"],
                           	$_POST["recaptcha_challenge_field"],
                           	$_POST["recaptcha_response_field"]);

 if (!$resp->is_valid) {
	echo '<script type="text/javascript">alert("'.$message['err_obrazek'].'");</script>'; 
	koniec();
					} else {

if (strlen($_POST['id']) < 4 or strlen($_POST['id']) > 16){
echo '<script type="text/javascript">alert("'.$message['err_id'].'");</script>'; 
 koniec();

}
if (strlen($_POST['pass']) < 4 or strlen($_POST['pass']) > 16){
echo '<script type="text/javascript">alert("'.$message['err_pass'].'");</script>'; 
 koniec();

}
if ($_POST['pass'] != $_POST['pass2']){
echo '<script type="text/javascript">alert("'.$message['err_pass2'].'");</script>'; 
 koniec();

}
if (!is_numeric($_POST['socialid'])){
echo '<script type="text/javascript">alert("'.$message['err_social'].'");</script>'; 
 koniec();


}
if (strlen($_POST['socialid']) != 7){
echo '<script type="text/javascript">alert("'.$message['err_7cyfr'].'");</script>'; 
 koniec();


}
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}{:content:}quot;,$_POST["email"])){
echo '<script type="text/javascript">alert("'.$message['err_mailto'].'");</script>'; 
 koniec();
}

$timeday = date("Y-m-d H:i");
$id = mysql_escape_string($_POST['id']);
$pass = mysql_escape_string($_POST['pass']);
$socialid = mysql_escape_string($_POST['socialid']);
$email = mysql_escape_string($_POST['email']);
$availDT = '2015-01-01 18:00:00';
$activate_code=str_shuffle("qwertyuiopasdfghjklzxcvbnm1234567890");
$db = mysql_select_db("account");


			if(mysql_num_rows(mysql_query("SELECT * FROM account WHERE login='$id'")) > 0){
							{
								echo '<script type="text/javascript">alert("'.$message['err_konto'].'");</script>'; 
  			koniec();
			}
			}else{

							if(mysql_num_rows(mysql_query("SELECT * FROM account WHERE email = '$email'")) > 0){
											{
												echo '<script type="text/javascript">alert("'.$message['err_mailtoo'].'");</script>'; 
				  			koniec();
							}
							}else{

$headers="MIME-Version: 1.0\r\n";
$headers.="Content-type: text/html; charset=UTF-8\r\n";
$headers.="From: [email="[email="[email="tw%C3%[email protected]"]tw%C3%[email protected][/email]"][email="tw%C3%[email protected]"]tw%C3%[email protected][/email][/email]"][email="[email="tw%C3%[email protected]"]tw%C3%[email protected][/email]"][email="tw%C3%[email protected]"]twó[email protected][/email][/email][/email]\r\n"; //Wstaw Swój Adres Email
$content="<html>
<head>
<title>
Tytuł Maila
</title>
</head>
<body>
<b>Aktywacja Konta:</b>
<br>Aby zalogować się na konto musisz je aktywować<br>przy pomocy poniższego linku:<br>
<a href=\"[url="[url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url]"][url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url][/url]".$activate_code."\"> [url="[url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url]"][url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url][/url]".$activate_code."</a>
<br>Możesz kliknąc lub skopiować powyższy link do swojej przeglądarki.</body></html>";
mail($_POST["email"], "TYTUŁ MAILA", $content, $headers); //Edytuj treść maila wg. wzoru. Wstaw adres strony pod którym jest rejestracja, oraz wstaw tytuły Maila.

$mq = mysql_query("INSERT INTO account SET login = '$id', social_id = '$socialid', password = PASSWORD('$pass'), email = '$email', autoloot_expire = '2020-01-01 18:00:00', safebox_expire = '2020-01-01 18:00:00', create_time = '$timeday', availDt = '$availDT', activate_key = '$activate_code', active_account = '0'");




		if($mq==true)
			{
				echo '<script type="text/javascript">alert("'.$message['err_acccc1'].'");</script>'; 
 				koniec();


}else{

echo '<script type="text/javascript">alert("'.$message['err_acccc'].'");</script>'; 
 koniec();
}
}
}

}

}
if($_GET["aktywacja"]){


function koniec()
{
echo "<meta http-equiv=\"refresh\" content=\"0; url=rejestracja.php\">";  //Jak wasza strona rejestracyjna nazywa się inaczej niż rejestracja.php zmieńcie tu nazwę!!!
exit;
}

$db = mysql_select_db("account");
$availDTactive = '0000-00-00 00:00:00';


if(mysql_num_rows(mysql_query("SELECT * FROM account WHERE activate_key = '$_GET[aktywacja]'")) == 1){


$queryactive = mysql_query("SELECT * FROM account WHERE activate_key = '$_GET[aktywacja]'");
$arrayactive = mysql_fetch_array($queryactive);
$active = $arrayactive['active_account'];

if($active == 0){
$aktywacja = mysql_query("UPDATE account SET availDt = '$availDTactive', active_account = '1' WHERE activate_key = '$_GET[aktywacja]'");
					{
						echo '<script type="text/javascript">alert("Aktywowałeś swoje konto, możesz się zalogować!");</script>'; 
		  			koniec();
					}
}else{
					{
						echo '<script type="text/javascript">alert("Aktywować konto można tylko raz...");</script>'; 
		  			koniec();
					}
}
}else{
					{
						echo '<script type="text/javascript">alert("Podany klucz aktywacyjny nie istnieje!");</script>'; 
		  			koniec();
					}
}
}
?>

<div id="div_log">	
<font size="2" color="#ff9c00" face="Tahoma"><b><p>Login:</b></font>
	<br>
	<font size="1" color="#c8b992" face="Tahoma">Podaj Login od 4 do 16 znaków.</font>
	<br>
	<input type="text" name="id" size="20" maxlength="16"></p>
</div>

<div id="div_has">		
<font size="2" color="#ff9c00" face="Tahoma"><b><p>Hasło:</b></font>
	<br>
	<font size="1" color="#c8b992" face="Tahoma">Podaj Hasło od 4 do 16 znaków.</font>
	<br>
	<input type="password" name="pass" size="20" maxlength="16"></p>
</div>

<div id="div_phas">	
<font size="2" color="#ff9c00" face="Tahoma"><b><p>Powtórz Hasło:</b></font>
	<br>
	<font size="1" color="#c8b992" face="Tahoma">Podaj jeszcze raz to samo hasło.</font>
	<br>		
	<input type="password" name="pass2" size="20" maxlength="16"></p>
</div>

<div id="div_usu">	
<font size="2" color="#ff9c00" face="Tahoma"><b><p>Kod Usunięcia Postaci:</b></font>
	<br>
	<font size="1" color="#c8b992" face="Tahoma">Podaj kod usunięcia postaci składający się z 7 cyfr.</font>
	<br>		
	</font><input type="text" name="socialid" size="20" maxlength="7"></p>
</div>

<div id="div_usu">	
<font size="2" color="#ff9c00" face="Tahoma"><b><p>Adres E-Mail:</b></font>
	<br>
	<font size="1" color="#c8b992" face="Tahoma">Podaj swój adres E-mail.</font>
	<br>			
	</font><input type="text" name="email" size="20" maxlength="100"></p>
</div>

<div id="div_usu">	

   	<?php
     	require_once('recaptchalib.php');
     	$publickey = "publickey"; // Tutaj wklejasz swój klucz publiczny
     	echo recaptcha_get_html($publickey);
   	?>
</div>

<br>
<input type="submit" value="Zarejestruj Konto!" />
</form>

 

 

 

 

 

Jeśli Wam się przydał TuTorial proszę o ++++.

Specjalnie dla Was by Aryman.

 

Jeśli zobaczę gdzieś kod PHP, opublikowany i niepodpisany że stworzony przeze mnie, spotkamy się w sądzie, obiecuje Ci to i tak wygram sprawę przy okazji zarobię ;), nie będę ostrzegać, pozew można złożyć przez internet :)

 

 

 

ps. Gdyby ktoś chciał na własne życzenie do swojego serwera skomplikowane skrypty php, proszę pisać za odpowiednią opłatą mogę popracować :)

Pozdrawiam Aryman

admin2r.png
Opublikowano

noo i właśnie czekałem na to od wielu miesięcy !

Plusik się należy rzecz jasna, i na pewno wykorzystam to do mojego Pro Elo serwera :)

a jedno mnie zaciekawiło :)

Gdyby ktoś chciał na własne życzenie do swojego serwera skomplikowane skrypty php, proszę pisać za odpowiednią opłatą mogę popracować

 

Czy zrobił byś skrypcik na banowanie na określony czas ?

ponieważ nigdzie kompletnie tego nie ma :)

a ty zapewne takie coś masz.

pozdrawiam .

963711463719651277415.png

|<|®Krzysztofa®|>|




Opublikowano

noo i właśnie czekałem na to od wielu miesięcy !

Plusik się należy rzecz jasna, i na pewno wykorzystam to do mojego Pro Elo serwera :)

a jedno mnie zaciekawiło :)

 

 

Czy zrobił byś skrypcik na banowanie na określony czas ?

ponieważ nigdzie kompletnie tego nie ma :)

a ty zapewne takie coś masz.

pozdrawiam .

 

Uwierz mi że wszystko się da :), nawet sprawdzić jednym poleceniem czy ktoś zabił bossa na OneHicie. Lecz to już zależy od kwoty którą jesteś w stanie zapłacić, bo nie mam zamiaru umieszczać tylu swoich godzin pracy za darmo, więcej na PW jak kogoś coś interesuje.

@Do Moderatora:

Mógłbyś przenieść mi temat do działu TuToriale? Przez przypadek tutaj go umieściłem.

 

 

 

pozdrawiam Ary

admin2r.png
Opublikowano

Przecież 1hit killera można zablokować tylko trzeba wiedzieć jak.. Nie wiem po co utrudniać sobie życie,

jak to mówi Farrk, lepiej zapobiegać niż leczyć =)

A banowanie na czas to tylko dodatkowe querry do account -> kolumna z czasem, nie pamiętam nazwy a nie mam plików już..=P

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

Bambus3k - Ja Ci napisałem skrypt na banowanie :P

Łapaj go na PW :)

Szukam grafików, questerów Metin2, koderów www, skrypterów, programistów visual c++, c++.
Techników od bazy danych, systemów linuksowych( głównie FreeBSD).

[email protected] - > Pisać - > Rozpatrzę propozycje :)

  • 2 tygodnie później...
Opublikowano

Linki w kodzie php się zmieniły na bbcode.

 

A skrypt naprawdę przydatny. Dobrze że mamy takich ludzi na forum :)

  • 1 rok później...
Opublikowano

nie działa

wtf?

 

<br>Aby zalogować się na konto musisz je aktywować<br>przy pomocy poniższego linku:<br>
<a href=\"[url="[url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url]"][url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url][/url]".$activate_code."\"> [url="[url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url]"][url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url][/url]".$activate_code."</a>
<br>Możesz kliknąc lub skopiować powyższy link do swojej przeglądarki.</body></html>";

Opublikowano

nie działa

wtf?

 

<br>Aby zalogować się na konto musisz je aktywować<br>przy pomocy poniższego linku:<br>
<a href=\"[url="[url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url]"][url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url][/url]".$activate_code."\"> [url="[url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url]"][url="[url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url]"][url="http://adresstrony.pl/rejestracja.php?aktywacja="]http://adresstrony.pl/rejestracja.php?aktywacja=[/url][/url][/url]".$activate_code."</a>
<br>Możesz kliknąc lub skopiować powyższy link do swojej przeglądarki.</body></html>";

jak masz "adresstrony.pl" to co się dziwisz ?

56790073090842608341.png

Dołącz do społeczności najlepszego serwera Metin2 w Polsce

Przenieś mnie !

Opublikowano

@shiner.

To już nie ważne, napisałem swój własny skrypt od początku.

Nigdzie nie mogłem znaleźć skryptu bez dziur.

 

gdzie tu kurwa widzisz dziure?

 

chyba u siebie we łbie..

 

nie przeglądałem całego skryptu, ale zmienne są przewalidowane więc nie ma obaw, że coś zostanie dodane do bazy bez walidacji.

 

zeby było bezpieczniej można zmienić

 

mysql_escape_string

na

mysql_real_escape_string

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...