jQuery führt alte funktion aus

Hab das Passwort oben rausgenommen, weil es hier sonst wirklich jeder lesen kann.
Und wenn du darauf bestehst...hier ist der Beweis, dass du das willst,
also mach ich mich nicht strafbar oder sonstwas.
 
nein du machst dich nicht strafbar werte zu manipulieren. ich werde sowieso andere namen und passwörter brauchen wenn die seite online geht. kein problem ;)
 
Code:
wget "--user-agent=Mozilla/5.0"
--post-data 'seite=passwort_aendern&user_pass=muahaha&user_id=1%20OR%201%3D1'
"http://www.example.com/uri-entfernt/script/ajax.php"
 
ok und das gibst du in einem programm ein? oder in die adresszeile? wie kann ich das verhindern? mit einem
PHP:
real_escape_string(htmlspecialchars($str));
 
Das wget ist ein Konsolenbefehl in Linux.
Macht aber im Grunde nur das, was ein Browser auch tut.
Mit dem Browser ist es nur umständlicher.

Und zum Escapen: Wie das heißt kommt drauf an, was du für die DB-Verbindung verwendest.
Mysql, Mysqli, PDO.
Das htmlspecialchars ist beim SQL nicht nötig.

So, jetzt bin ich wirklich weg, bis später.

So, wieder da.
Das Stringescapen ist zwar schön, aber lang nicht alles.
Anfangen solltest du mal damit, dass du den betroffenen User+Passwort
nicht einfach aus den Benutzereingaben her nimmst, sondern zuerst mal prüfst,
ob der Nutzer (der sein PW ändern will) gerade eingeloggt ist.
Wenn nein->Darf nicht ändern.
Bzw. noch zusätzlich prüfen, ob ein Admin eingeloggt ist, der darf von jedem Benutzer ändern.
 
achja das gute alte linux ;) hatte ich auch mal.
ich arbeite aber heute auf nem mac. mit dem browser hab ich es versucht, aber es funktioniert nicht.
die verbindung geht über mysql. mysqli ist doch nur die light version hab ich gedacht. und pdo kenne ich nicht.
ok das mit der sessionüberprüfung hab ich mal geändert. könntest du es bitte nochmal versuchen? oder wie geht das mit dem browser? dann musst du nicht immer und ich kann alleine testen.
 
Browserversuch: Das erste Problem ist, POST-Daten im Browser einzugeben.
Hier, FF, hätt ich ohne Plugins keine Möglichkeit dafür.
Bei den anderen großen Browsern wird es ähnlich ausschauen.

Mysqli ist keine Lightvariante, sondern löst das alte Mysql_...-Zeug komplett ab.
Hat auch mehr Funktionen statt weniger.
Das alte Mysql sollte man gar nicht mehr Verwenden, steht am Ende seiner Lebenszeit
und ist nur noch für Abwärtskompatibilität vorhanden.

PDO ist eine Alternative, die relativ unabhängig von der DB ist.

Versuchen: Warum zeigst du nicht einfach mal einen aktuellen Code?
Damit kann man m Besten sagen, was noch zu tun ist.

Bitte Netiquette beachten.
 
ok das passwort wird mit sha512 und salz verschlüsselt und der code zum prüfen der passworteingabe ist:
PHP:
//
//	PASSWORT ÄNDERN
//

if($_POST['seite'] == "passwort_aendern" && ($_SESSION['login'] == "superadmin" || $_SESSION['login'] == "admin"))
{
	$user_id = $_POST['user_id'];
	$user_pass = $_POST['user_pass'];
	
	if($user_id == "superadmin")
	{
		$sql = "UPDATE user SET passwort = '".$user_pass."' WHERE superadmin = 1";
	}
	else
	{
		$sql = "UPDATE user SET passwort = '".$user_pass."' WHERE id = ".$user_id;
	}
	
	if(mysql_query($sql))
	{
		$ergebnis_text = "ja";
	}
	else
	{
		$ergebnis_text = "Fehler beim ändern des Passwortes aufgetreten!";
	}
	
	$ret = Array("seite" => $ergebnis_text, "status" => $user_id);
}
 
Zurück