SparkySky Posted April 29, 2018 Posted April 29, 2018 (edited) Făcând curat prin hdd-ul calculatorului, am gasit un script care mi-a atras atentia. Este parte din modulul de inregistrare web folosit in anul 2008 la inregistrarea de pe site a serverului de samp eGaming. Poate fi gasit atasat la acest topic. M-am decis sa fac public acest cod pentru ca oricum este o varianta foarte veche, ne mai pastrand nimic din vechiul cod in actuala configuratie. Precum puteti observa, am comentat sectiunea cu accesul la baza de date deci ar trebui sa functioneze fara mysql, singurul lucru de care aveti nevoie este un server de FTP la care sa se conecteze remote pentru a trimite fisieru cu acel cont nou inregistrat. Atentie ! Acest fisier este pentru utilizatorii avansati, care detin cunostiinte cel putin medii de PHP si de configurare a unui server FTP. Codul cu pricina: Spoiler <?php // part of eG Web-Register-script (c) 2008 by xanto function GenerareUser($Nick,$Nume,$Prenume,$Parola,$Sex,$Varsta,$Email,$Secret,$Origine,$Tutorial){ global $mijloc; $ftp_server = "hostsamp"; $ftp_port = 21; $ftp_user_name = "xanto123"; $ftp_user_pass = "123parolaftp123"; $ftp_remote_dir = "sampsrv/scriptfiles/"; //calea completa catre directorul scriptfiles $local_tmp_dir = "dbuseri/"; //trebuie setat +w $filename = $Nick . ".ini"; //fisierul destinatie $file = fopen($local_tmp_dir . $filename, "w"); if (!$file) { $mijloc=SablonMijloc("Eroare: Nu am putut scrie in fisier <br /> Contactati un administrator"); return; } $conn_id = ftp_connect($ftp_server, $ftp_port); $login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); @ftp_pasv ($conn_id, true); $chdir_result = @ftp_chdir($conn_id, $ftp_remote_dir); if(!$login_result || !$chdir_result) { $mijloc=SablonMijloc("Eroare: Nu m-am putut conecta la server <br /> Incercati mai tarziu"); fclose($file); return; } if ( @ftp_get($conn_id, $local_tmp_dir . "tempfis.fis", $filename, FTP_ASCII) ) { unlink($local_tmp_dir . "tempfis.fis"); $mijloc=SablonMijloc("Eroare: Acest utilizator a fost deja inregistrat.<br /> Va rugam alegati alt nume"); //echo $mijloc; fclose($file); return; } $Pgen1 = preg_split('//', $Parola, -1, PREG_SPLIT_NO_EMPTY); // generare hash GF $hashpass = ""; for($i=0; $i < sizeof($Pgen1); $i++) { $tmpS = ord($Pgen1[$i]); $tmpS += (3^$i) * ($i % 15); //echo $tmpS . "<br>"; if ($tmpS > 0xff) { $tmpS -= 256; } $hashpass .= chr($tmpS); } $message = "Key=".$hashpass."\n". "Registered=1\n". "Sex=$Sex\n". "Age=$Varsta\n". "Origin=$Origine\n". "Tutorial=$Tutorial\n"; if( !fwrite($file, $message) ) { $mijloc=SablonMijloc("Eroare: Nu am putut scrie in fisier <br /> Contactati un administrator"); fclose($file); ftp_close($conn_id); return; } fclose($file); if (!ftp_put($conn_id, $filename, $local_tmp_dir . $filename, FTP_ASCII)) { $mijloc=SablonMijloc("Eroare: nu am putut uploada fisierul <br /> Contactati un administrator"); ftp_close($conn_id); return; } else { /* --------------- comentata sectiunea de baza de date deoarece majoritatea dintre voi nu veti avea nevoie de ea //include("mysql-config.inc.php"); //include("mysql.inc.php"); $DBm=new xDB(); $AdresaIP= $_SERVER["REMOTE_ADDR"]; $DataCurenta = data(); // securizam datele ce vor fi introduse in db $InserareDB = sprintf("INSERT INTO `log_inregistrati` (`nick` ,`nume` ,`prenume` ,`parola` ,`ip` ,`email` ,`varsta` ,`secret` ,`data`) VALUES ('%s', '%s', '%s', 'md5(%s)', '%s', '%s', %d, '%s', '%s')", $DBm->validare($Nick), $DBm->validare($Nume), $DBm->validare($Prenume), $DBm->validare($Parola), $AdresaIP, $DBm->validare($Email), $DBm->validare($Varsta), $DBm->validare($Secret), $DataCurenta); $op2=$DBm->query($InserareDB); //debug //echo $InserareDB; if($DBm->afectate()){ $mijloc = SablonMijloc("Utilizatorul a fost inregistrat cu succes!"); }else { $mijloc = SablonMijloc("Eroare la introducerea in DB <br /> Contactati un administrator"); } */ } ftp_close($conn_id); //exit(1); } ?> Desigur ca acest script poate fi modificat sa nu mai depinda de partea de upload a fisierului prin FTP, asta in cazul in care serverul samp si site-ul se afla pe acelasi calculator. Puteti sa-l folositi in proiectele voastre, treaba voastra ce faceti cu el atata timp cat pastrati creditele si nu va dati drept autorul lui. (Nu e nevoie sa gasesc acest script pe "tz" site-uri cu "n" autori, n-am nevoie de mirror-uri). +1 Dacă ți-a plăcut ! Edited April 29, 2018 by SparkySky
andrei9971 Posted December 8, 2018 Posted December 8, 2018 Nice copy-paste de la XanTo. Macar daca puneai credits pentru munca omului ala.
razvanduciuc Posted December 8, 2018 Posted December 8, 2018 (edited) On 4/29/2018 at 5:49 PM, SparkySky said: Făcând curat prin hdd-ul calculatorului, am gasit un script care mi-a atras atentia. Este parte din modulul de inregistrare web folosit in anul 2008 la inregistrarea de pe site a serverului de samp eGaming. Poate fi gasit atasat la acest topic. M-am decis sa fac public acest cod pentru ca oricum este o varianta foarte veche, ne mai pastrand nimic din vechiul cod in actuala configuratie. Precum puteti observa, am comentat sectiunea cu accesul la baza de date deci ar trebui sa functioneze fara mysql, singurul lucru de care aveti nevoie este un server de FTP la care sa se conecteze remote pentru a trimite fisieru cu acel cont nou inregistrat. Atentie ! Acest fisier este pentru utilizatorii avansati, care detin cunostiinte cel putin medii de PHP si de configurare a unui server FTP. Codul cu pricina: Reveal hidden contents <?php // part of eG Web-Register-script (c) 2008 by xanto function GenerareUser($Nick,$Nume,$Prenume,$Parola,$Sex,$Varsta,$Email,$Secret,$Origine,$Tutorial){ global $mijloc; $ftp_server = "hostsamp"; $ftp_port = 21; $ftp_user_name = "xanto123"; $ftp_user_pass = "123parolaftp123"; $ftp_remote_dir = "sampsrv/scriptfiles/"; //calea completa catre directorul scriptfiles $local_tmp_dir = "dbuseri/"; //trebuie setat +w $filename = $Nick . ".ini"; //fisierul destinatie $file = fopen($local_tmp_dir . $filename, "w"); if (!$file) { $mijloc=SablonMijloc("Eroare: Nu am putut scrie in fisier <br /> Contactati un administrator"); return; } $conn_id = ftp_connect($ftp_server, $ftp_port); $login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); @ftp_pasv ($conn_id, true); $chdir_result = @ftp_chdir($conn_id, $ftp_remote_dir); if(!$login_result || !$chdir_result) { $mijloc=SablonMijloc("Eroare: Nu m-am putut conecta la server <br /> Incercati mai tarziu"); fclose($file); return; } if ( @ftp_get($conn_id, $local_tmp_dir . "tempfis.fis", $filename, FTP_ASCII) ) { unlink($local_tmp_dir . "tempfis.fis"); $mijloc=SablonMijloc("Eroare: Acest utilizator a fost deja inregistrat.<br /> Va rugam alegati alt nume"); //echo $mijloc; fclose($file); return; } $Pgen1 = preg_split('//', $Parola, -1, PREG_SPLIT_NO_EMPTY); // generare hash GF $hashpass = ""; for($i=0; $i < sizeof($Pgen1); $i++) { $tmpS = ord($Pgen1[$i]); $tmpS += (3^$i) * ($i % 15); //echo $tmpS . "<br>"; if ($tmpS > 0xff) { $tmpS -= 256; } $hashpass .= chr($tmpS); } $message = "Key=".$hashpass."\n". "Registered=1\n". "Sex=$Sex\n". "Age=$Varsta\n". "Origin=$Origine\n". "Tutorial=$Tutorial\n"; if( !fwrite($file, $message) ) { $mijloc=SablonMijloc("Eroare: Nu am putut scrie in fisier <br /> Contactati un administrator"); fclose($file); ftp_close($conn_id); return; } fclose($file); if (!ftp_put($conn_id, $filename, $local_tmp_dir . $filename, FTP_ASCII)) { $mijloc=SablonMijloc("Eroare: nu am putut uploada fisierul <br /> Contactati un administrator"); ftp_close($conn_id); return; } else { /* --------------- comentata sectiunea de baza de date deoarece majoritatea dintre voi nu veti avea nevoie de ea //include("mysql-config.inc.php"); //include("mysql.inc.php"); $DBm=new xDB(); $AdresaIP= $_SERVER["REMOTE_ADDR"]; $DataCurenta = data(); // securizam datele ce vor fi introduse in db $InserareDB = sprintf("INSERT INTO `log_inregistrati` (`nick` ,`nume` ,`prenume` ,`parola` ,`ip` ,`email` ,`varsta` ,`secret` ,`data`) VALUES ('%s', '%s', '%s', 'md5(%s)', '%s', '%s', %d, '%s', '%s')", $DBm->validare($Nick), $DBm->validare($Nume), $DBm->validare($Prenume), $DBm->validare($Parola), $AdresaIP, $DBm->validare($Email), $DBm->validare($Varsta), $DBm->validare($Secret), $DataCurenta); $op2=$DBm->query($InserareDB); //debug //echo $InserareDB; if($DBm->afectate()){ $mijloc = SablonMijloc("Utilizatorul a fost inregistrat cu succes!"); }else { $mijloc = SablonMijloc("Eroare la introducerea in DB <br /> Contactati un administrator"); } */ } ftp_close($conn_id); //exit(1); } ?> Desigur ca acest script poate fi modificat sa nu mai depinda de partea de upload a fisierului prin FTP, asta in cazul in care serverul samp si site-ul se afla pe acelasi calculator. Puteti sa-l folositi in proiectele voastre, treaba voastra ce faceti cu el atata timp cat pastrati creditele si nu va dati drept autorul lui. (Nu e nevoie sa gasesc acest script pe "tz" site-uri cu "n" autori, n-am nevoie de mirror-uri). +1 Dacă ți-a plăcut ! Vezi ca te da de gol $ftp_user_name = "xanto123"; + // part of eG Web-Register-script (c) 2008 by xanto "Facand curat prin calculator" :)))) Edited December 8, 2018 by razvanduciuc Ai nevoie de ajutor in scripting si nu ai bani? Te pot ajuta cu mare drag. Dar asta nu inseamna sa iti lucrez un Sistem de joc complet, daca ai nevoie de ajutor ma poti contacta pe Discord.
andrei9971 Posted December 9, 2018 Posted December 9, 2018 14 hours ago, razvanduciuc said: Vezi ca te da de gol $ftp_user_name = "xanto123"; + // part of eG Web-Register-script (c) 2008 by xanto "Facand curat prin calculator" :)))) E copiat exact cum a scris xanto acum vreo 7 ani.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now