php - current online user/besucher

06/29/2016 17:50 Shawak#16
Gibt es einen Error?

Code:
print_r($stmt->errorInfo());
06/29/2016 18:04 .Barone#17
Quote:
Originally Posted by Shawak View Post
Gibt es einen Error?

Code:
print_r($stmt->errorInfo());
Code:
 $stmt=$cn->prepare("UPDATE `benutzer` SET status='Online' WHERE username=:username");
    $stmt->bindParam(':username',$result['name'],PDO::PARAM_STR);
    $stmt->execute();
    print_r($stmt->errorInfo());
Gibt aus. Array ( [0] => 00000 [1] => [2] => )

Ui. Also der Fehler lag wohl daran, das ich anstatt $result['username'] - $result['name'] genommen habe. (Ich war schon ein wenig weiter...)

Wie ist das mit sql-injections,ist die seite einigermaßen sicher mit :
Code:
$cn = new mysqli($servername,$db,$pw,$userdb);
$data = $cn->real_escape_string($data);
$data = htmlentities($data, ENT_QUOTES | ENT_HTML5, 'utf-8');
$return_str = str_replace( array('<','>',"'",'"',')','('), array('<','>','&apos;','&#x22;',')','(','&sem','&bso','&so','&bs','&eq'), $data );
$return_str = str_ireplace( '%3Cscript', '', $return_str );
$data = $return_str;

return $data;
+
Prepared statements + PDO ?
06/29/2016 19:09 Shawak#18
Um einigermaßen sicher zu sein reicht es schon Prepared Statements zu nutzen, du musst halt nur schauen wie du dann anschließend mit den Daten in der Datenbank umgehst (Stichwort XXS).

Außerdem könntest du dir mal PHPs [Only registered and activated users can see links. Click Here To Register...] anschauen, meiner Meinung nach ist das eine super Methode. :)