Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 17:03

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Register Script Verbesserungsvorschläge

Discussion on Register Script Verbesserungsvorschläge within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2015
Posts: 16
Received Thanks: 1
Register Script Verbesserungsvorschläge

Hallo,


ich suche Verbesserungsvorschläge / Vorschläge was man besser / sicherer machen könnte bei mein Script & was ich lieber nicht rein sollte.


PHP Code:
<?php
require_once 'dbconfig.php';
include 
'sec/verbindung.inc.php';
if(
$user->is_loggedin()) {
    
$user->redirect('home.php');
}


?>

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0 user-scalable=no">
<style>
@-ms-viewport{ width=device-width; }
</style>
<link rel="stylesheet" href="css/style_reg.css" type="text/css">
<link rel="stylesheet" href="css/normalize.css" type="text/css">
<title>Registration</title>
</head>
<body>
<header role="banner" class="main-header">
    <h1 class="main-title"> Homepage </h1>
    
    <nav class="social-nav">
    <ul class="social-media">
    <li><a href="#" target="_blank" class="genericon genericon-twitter"></a></li>
    <li><a href="#" target="_blank" class="genericon genericon-facebook-alt"></a></li>
    <li><a href="#" target="_blank" class="genericon genericon-googleplus"></a></li>
    </ul>
    </nav>
    
    <p class="search-tag"><input type="search" placeholder="suche"></p>
</header>

<main role="main">

    <nav role="navigation" class="navigation">
    <ul class="nav">
    <li><a href="startseite">Home</a></li>
    <li><a href="#">News</a></li>
    <li><a href="register">Registrieren</a></li>
    <li><a href="information.php">Information</a></li>
    <li><a href="login">Login</a></li>
    </ul>
    </nav>
    
            <?php
        
if(isset($_POST['senden']) && strtolower($_POST['senden'])) {
            
                
$email $_POST['email'];
                
$password $_POST['password'];
                
$vorname $_POST['vorname'];
                
$nachname $_POST['nachname'];

                
$error '';

                function 
check($DB_con$email) {
                
$stmt $DB_con->prepare("SELECT email FROM w_user_data WHERE email = ?");
                
$stmt->BindParam(1$email);
                
$stmt->execute();

                if(
$stmt->rowCount() > 0) {
                    return 
true;
                } else {
                    return 
false;
                }
            }

                if(
check($DB_con$email) === true) {
                
$error 'Die Email Adresse existierts bereits. Bitte verwenden Sie eine neue oder andere Email Adresse.';
                }
                elseif(empty(
trim($email)) && empty(trim($_POST['atmail-g']))) {
                
$error 'Es ist ein Problem aufgetreten. Das Feld der Email darf nicht leer sein. ';
                }
                elseif(
$email !== $_POST['atmail-g']) {
                
$error 'Die angegebenen Email Adressen sind nicht korrekt. Bitte überprüfen Sie ihre Angaben.';
                }
                elseif(
strlen($email) < 7) {
                
$error 'Es ist ein Problem aufgetreten. Die Email darf nicht k�rzer als 7 Zeichen sein. ';
                }
                elseif(
strlen($email) > 35) {
                
$error 'Es ist ein Problem aufgetreten. Die Email darf nicht l�nger als 35 Zeichen sein. ';
                }
                elseif(!
filter_var($emailFILTER_VALIDATE_EMAIL)) {
                
$error 'Es ist ein Problem aufgetreten. Die Email Adresse muss richtig angebeben werden und ein <b>@</b> enthalten. ';
                }
                elseif(empty(
trim($password))) {
                
$error 'Es ist ein Problem aufgetreten. Das Feld des Passwort darf nicht leer sein. ';
                }
                elseif(
$password !== $_POST['psw-g']) {
                
$error 'Das angegebenene Password ist nicht gleich.';
                }
                elseif(
strlen($password) < 7) {
                
$error 'Es ist ein Problem aufgetreten. Das Passwort darf nicht k�rzer als 7 Zeichen sein. ';
                }
                elseif(
strlen($password) > 35) {
                
$error 'Es ist ein Problem aufgetreten. Das Passwort darf nicht l�nger als 35 Zeichen sein. ';
                }
                elseif(empty(
trim($vorname))) {
                
$error 'Es ist ein Problem aufgetreten. Das Feld des Vorname darf nicht leer sein. ';
                }
                elseif(
strlen($vorname) < 3) {
                
$error 'Es ist ein Problem aufgetreten. Der Vorname darf nicht k�rzer als 3 Zeichen sein. ';
                }
                elseif(
strlen($vorname) > 35) {
                
$error 'Es ist ein Problem aufgetreten. Der Vorname darf nicht l�nger als 35 Zeichen sein. ';
                }
                elseif(!
filter_var($vornameFILTER_SANITIZE_STRING)) {
                
$error 'Es ist ein Problem aufgetreten. Der Vorname darf nur Buchstaben enthalten. Keine Ziffern oder sonstige Zeichen. ';
                }
                elseif(empty(
trim($nachname))) {
                
$error 'Es ist ein Problem aufgetreten. Das Feld des Nachname darf nicht leer sein. ';
                }
                elseif(
strlen($nachname) < 3) {
                
$error 'Es ist ein Problem aufgetreten. Der Nachname darf nicht kürzer als 3 Zeichen sein. ';
                }
                elseif(
strlen($nachname) > 25) {
                
$error 'Es ist ein Problem aufgetreten. Der Nachname darf nicht kürzer als 25 Zeichen sein. ';
                }
                elseif(!
filter_var($nachnameFILTER_SANITIZE_STRING)) {
                
$error 'Es ist ein Problem aufgetreten. Der Nachname darf nur Buchstaben enthalten. Keine Ziffern oder sonstige Zeichen. ';
                }
                
                
                
$option = [
                    
'cost' => 11,
                    
'salt' => mcrypt_create_iv(22MCRYPT_DEV_URANDOM),
                ];
                
                if(!
$error) {
                
                
$insert $DB_con->prepare("INSERT INTO w_user_data (email, password, vorname, nachname, ip, date_insert) VALUES (?, ?, ?, ?, NOW())");
                
$insert->BindValue(1$email);
                
$insert->BindValue(2password_hash($passwordPASSWORD_BCRYPT$option));
                
$insert->BindValue(3$vorname);
                
$insert->BindValue(4$nachname);
                if(
$insert->execute()) {
                exit(
"<article id='erfolg_insert'><section id='content'><p class='susc_reg'>Sie haben erfolgreich einen Account erstellt.</p> <br> <p class='after_reg'><a href='login.php' class='now_log_after_reg'>Jetzt Einloggen</a></p> </section></article><?php");
                    }
                }
            }
        
?>
    <article id="a1-reg">
        <section id="content">
        <h2 class="h2-reg"> Registrieren </h2>
        <h3 class="h3-reg"> Kostenlos und schnell Registrieren </h3>
        <p class="genericon genericon-user"></p>
        </section>
    </article>
    
    <article id="a2-reg">
        <section id="content">
        <form action="<?php $_SERVER['REQUEST_METHOD']?>" method="POST">
         
        
         <?php if(isset($error)) {   ?>
         <article id='error_info'>
         <section id='content'>
         <?php echo $error?>
         </section>
         </article>
         <?php  ?>
         

         
<p><input type="email" name="email" placeholder="E-Mail Adresse"> <input type="email" name="atmail-g" placeholder="E-Mail Adresse Wiederholen"></p>
        <p><input type="password" name="password" placeholder="Passwort"> <input type="password" name="psw-g" placeholder="Passwort Wiederholen"></p>
        <p><input name="vorname" placeholder="Ihr Vorname"> <input name="nachname" placeholder="Ihr Nachname"></p>
        <p class="info-agb"> Beim Senden der Registration stimmen Sie automatisch der <a href="#" class="agb"> AGB</a> zu.</p>
        <p><input type="submit" class="send" value="Senden" name="senden"> <input type="reset" class="reset" value="Zurücksetzen"></p>
        </section>
    </article>

</main>
</body>
</html>
Body@Developer is offline  
Old 03/28/2016, 03:26   #2


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,118
Received Thanks: 2,435
Ein paar Sachen die man ändern kann:- Template Engines nutzen z.b. Twig(nutze ich) um Html und Php voneinander abtrennen zu können (viel ordentlicher).
- Entitys nutzen
- Eigene Klasse fürs Validieren, da du vieles öfters nur mit anderen Variablen nutzen. (Also sowas wie Validiation::isEmpty($vorname), in dieser Function machst du dann z.b auch das
- Texte nicht hardcoded in das Script
- Methoden/Variablen besser benamen z.b. die function 'check'... Was tut diese ? Was wird den gecheckt ?
- PHPdoc nutzen
- Wieso muss bei der 'check' function die Datenbank Verbindung übergeben werden ?




Was am schönsten wäre, wäre natürlich mit dem MVC Prinzip zu arbeiten.
False is offline  
Reply


Similar Threads Similar Threads
Fiesta Register Script V2.0 - OdinRegister Script
02/18/2013 - Fiesta Online - 6 Replies
Hey, hab das alte Fiesta Register Script V1.1 wiedergefunden und hab mir gedacht ich schreibs mal passend für JokerServer die mit OdinFiles laufen um. Das einzige was ihr machen müsst ist die index.php mit euren SQL Daten zu füttern, ihr könnt diese mit einfachen TextEditor programmen wie notepad.exe (Editor) oder wordpad öffnen. EDIT1: da war n kleiner fehler der bei über 10 Accs immer alles mit nEMID 2 erstellt hat, fixed. Neue version im Anhang.
V14 Register Script für Gms [Homepage Script]
05/21/2011 - Flyff Private Server - 10 Replies
Naja, Meine frage wär wie man nen V14 Register Page macht wo man wenn man registriert sofort Gm ist =D. PS: für ein ein Test Server ;3 Trafalgar†Law ~



All times are GMT +2. The time now is 17:03.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.