PHP deaktiviert HTML code

Grüße nochmal,

im Prinzip ganz einfach, indem du eine spezielle Variable definierst und diese mit den Funktionen und dem entsprechenden POST-Wert initiierst.
Hier mal auf deinen Code bezogen (nur ein Ausschnitt):

PHP:
<?php

include_once 'ClassPerson.php';

//PW für Passwort
$PW = md5(sha1($_POST['password']));

$person = new Person($_POST['username'], $PW, $_POST['email'], $geburtsdatum = $_POST['year']."-".$_POST['month']."-".$_POST['day'] , $_POST['location'], $_POST['job'], $_POST['skype']);
?>

Beachte, dass im Code der Abschnitt $_POST['password'] durch die neue Variable $PW ersetzt wurde.
 
PHP:
$var=md5($password);
Ganz einfach.

Ein größeres Problem wird es sein, das Passwort auf der Client-Seite verschlüsseln
Was ist, wenn der Browser kein Javascript erlaubt etc?
Dann wird erst alles wieder unverschlüsselt übertragen.

Ausserdem ist "nur" ein verschlüsseltes Passwort ohne weitere Sicherheitsmaßnahmen kein wirklicher Schutz.
Wenn es jemand schafft, das unverschlüsselte Passwort während der Übertragung auszulesen, macht es auch verschlüsselt keinen Unterschied.
Er weiß zwar das echte Passwort nicht; bekommt aber trotzdem Zugang zu deiner Seite.
Dazu muss er nur das verschlüsselte Passwort weiterschicken und vom Server überprüfen lassen.

Zumindest schwerer wirds, wenn die gesamte Übertragung verschlüsselt ist, zB HTTPS, wenn es der Server anbietet.
100%ige Sicherheit ist sowieso unmöglich...

PS: md5 ist ja eher eine Prüfsumme, kommt aber aufs gleiche raus.
 
Zuletzt bearbeitet:
Wenn man noch mehr Sichertheit will, könnte man auch die IP-Adresse überprüfen und, wie gesagt, HTTPS benutzen.
Dann wird es schon schwieriger sich Zugang zu beschaffen. Aber es gibt bestimmt noch mehr Möglichkeiten, such einfach mal bei Google.
 
@ sheel

Ja du hast volkommen recht es gibt keine 100% sicherheit. Aber trotzdem muss man auch dagegen was tun. Und was meinst du mit HTTPS?
Ich teste gerade eh alles auch localhost (XAMPP). Ich Lerne gerade php, habe 2 bücher zugelegt aber manche sachen verstehe ich nicht , deswegen frage ich hier immer.

@ Alex_T
Ich bedanke mich bei dir dein Methode hat geklappt ich wäre nicht alleine darauf gekommen.


@ ComFreek

Was muss ich genau tuhn für IP -AdressenÜberprüfung ?
Ich entschuldige mich bei euch, wenn ich so frage.
 
Zuletzt bearbeitet:
Grüße nochmal,

im Prinzip ganz einfach, indem du eine spezielle Variable definierst und diese mit den Funktionen und dem entsprechenden POST-Wert initiierst.
Hier mal auf deinen Code bezogen (nur ein Ausschnitt):

PHP:
<?php

include_once 'ClassPerson.php';

//PW für Passwort
$PW = md5(sha1($_POST['password']));

$person = new Person($_POST['username'], $PW, $_POST['email'], $geburtsdatum = $_POST['year']."-".$_POST['month']."-".$_POST['day'] , $_POST['location'], $_POST['job'], $_POST['skype']);
?>

Beachte, dass im Code der Abschnitt $_POST['password'] durch die neue Variable $PW ersetzt wurde.

Ich wollte sagen wenn ich mich anmelde dann sagt es mir immer falscher passwort oder der user ist falsch. Und wenn ich meine alten php code benutzte ohne md5 dann bin ich erfolgreich engemeldet.
Könnt ihr mir sagen warum es so ist ?
 
Man könnte die IP-Adresse mit der Session verbinden und bei jedem Skript diese überprüfen.

Der Login geht wahrscheinlich nicht, weil die Passwörter in der Datenbank nicht gleich verschlüsselt (=also auch MD5/SHA1...) sind.
 
Also ich gebe richtig ein normal muss es gehen, habe von oben die code benutzt. Die passworte sind verschlüselt. Aber ich kann mich nicht einlogen ich zeige euch auch die code von einlogen.

PHP:
 <?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="loginsystem"; // Database name
$tbl_name="benutzerdaten"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");

}
else {
echo "Wrong Username or Password";
}
?>
 
Zuletzt bearbeitet:
Zurück