Jump to content

[FS/Web]Modul de înregistrare web - samp


SparkySky

Recommended Posts

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 by SparkySky
Link to comment
Share on other sites

  • 7 months later...
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 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.ezgif-2-3a38433e2465.gif.9283810e304f5e405309769455e5e14b.gif

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.