Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

31

25.03.2017, 17:45

Ich weiss nicht ob das schon zur Sprache kam.
Kam zur Sprache.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

webconqueror

Treue Seele

  • »webconqueror« ist der Autor dieses Themas

Beiträge: 124

Wohnort: Bergisch Gladbach

Beruf: Student

  • Private Nachricht senden

32

25.03.2017, 22:32

Okay, der PHP-Script sieht jetzt wie folgt aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php

    // Author: Tobias Simon
    // Date: 23.03.2017
        // Date: 25.03.2017
    
    $servername = "localhost";
    $servernickname = "root";
    $serverpassword = "";
    $db_name = "accounts";
    
    $action = $_REQUEST['action'];
    
    // Connection
    $con = new mysqli($servername, $servernickname, $serverpassword, $db_name);
    
    // Check Connection
    if(!$con) die("Connection Failed! ".mysqli_connect_error());
    
    function check($stmt, $param) {
        if(!$stmt) die("Failed to prepare statement");
        $stmt->bind_param('s', $param);
        $stmt->execute();
        echo $stmt->fetch() ? 'true' : 'false';
    }
    
    if($action == 'check_email') {
        check($con->prepare("SELECT 1 FROM accounts WHERE email = ?"), $_REQUEST['email']);
    } if($action == 'check_nickname') {
        check($con->prepare("SELECT 1 FROM accounts WHERE nickname = ?"), $_REQUEST['nickname']);
    } elseif($action == 'register') {
        $email = $_REQUEST['email'];
        $nickname = $_REQUEST['nickname'];
        $password = $_REQUEST['password'];
        
        $stmt = $con->prepare('INSERT INTO accounts (nickname, email, password) VALUES (?, ?, ?)');
        $stmt->bind_param('sss', $nickname, $email, password_hash($password, PASSWORD_DEFAULT));
        if(!$stmt) die("Failed to prepare statement");
        $stmt->execute();
    }

Ich muss zugeben ich hatte Hilfe :rolleyes:
Naja, jedenfalls sollte ich jetzt in Unity das hinbekommen, mit check_mail
zu überprüfen, ob die schon vorhanden ist, mein Nickname genauso.
Natürlich sollte ich noch nen Filter einbauen, dass die keine blöden E-Mails eingeben wie du schon am
Anfang erwähntest Blue Cobold :D

Ich schau mir jetzt mal die WWW form in Unity an wie ich das genau aufrufe.
Vielleicht findet ihr ja noch Schwachstellen im Code? Falls ja, raus damit :P

Liebe Grüße :thumbsup:

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

33

25.03.2017, 22:43

Blöde eMail-Eingaben sind egal, solange du bind_param() oder real_escape_string() verwendest.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

webconqueror

Treue Seele

  • »webconqueror« ist der Autor dieses Themas

Beiträge: 124

Wohnort: Bergisch Gladbach

Beruf: Student

  • Private Nachricht senden

34

25.03.2017, 22:45

Was ich tue. :thumbsup:

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

35

25.03.2017, 22:46

Ich ergänze: Zumindest in Hinsicht auf SQL-Injection. Sicherlich ist der Hinweis bzgl. filter_vars trotzdem noch sinnvoll.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

webconqueror

Treue Seele

  • »webconqueror« ist der Autor dieses Themas

Beiträge: 124

Wohnort: Bergisch Gladbach

Beruf: Student

  • Private Nachricht senden

36

25.03.2017, 22:52

Bestimmt. Ich denke ich schaue mir dass auch nochmal an, aber erstmal baue ich das jetzt in mein Unity-Projekt ein.
Danke für eure tolle Hilfe, vor allem von dir BlueCobold ^^ :thumbsup: :thumbsup: :thumbsup: :thumbsup: :thumbsup:

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

37

26.03.2017, 00:05

Was blöde Mailadressen angeht. Da musst du vorsichtig sein. Die Regeln für valide Mailadressen sind relativ komplex. Wenn du möchtest dass Nutzer valide Mailadressen angeben dann versende einen Aktivierungslink. Natürlich ist es schön wenn du prüfst ob die Mailadresse einigermaßen korrekt aussieht. Dabei solltest du aber aufpassen dass du keine validen Adressen aussperrst.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

webconqueror

Treue Seele

  • »webconqueror« ist der Autor dieses Themas

Beiträge: 124

Wohnort: Bergisch Gladbach

Beruf: Student

  • Private Nachricht senden

38

26.03.2017, 00:14

Naja, ich werde einen Aktivierungslink versenden wenn ich das irgendwann mal auf einem Server
haben sollte. Für jetzt zum Testen wie ich die Verbindung von Unity dahin aufbaue wäre dass etwas Overkill.
Und zum testen, was die eingegeben haben, könnte man ja schon überprüfen ob ein @ inhalten ist und so, damit
die wenigstens eine Adresse eingeben ;)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

39

26.03.2017, 00:48

Dann habe ich euch wohl nur falsch verstanden. Ich habe nicht den ganzen Thread gelesen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

webconqueror

Treue Seele

  • »webconqueror« ist der Autor dieses Themas

Beiträge: 124

Wohnort: Bergisch Gladbach

Beruf: Student

  • Private Nachricht senden

40

26.03.2017, 01:01

Verständlich, so lang wie der geworden ist :thumbsup:

Werbeanzeige