MYSQL

Computer Forum

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum

Sie betrachten gerade: MYSQL


Antwort
Alt 03.08.2007, 09:25 MYSQL #1
Erfahrener Benutzer
 
Registriert seit: 05.07.2007
Ort: Schweiz
Beiträge: 1.601
disler eine Nachricht über MSN schicken disler eine Nachricht über Skype™ schicken
Standard MYSQL

Auf meiner HP hab ich jetzt Datenbank integriert! Ich habe auch auf meiner Hp einen internen bereich gemacht! Kann mir jemand sagen, wie ich aus einer Tabelle ein einziges Attribut auslesen kann, eines bestimmtes??

Geht das mit dem Befehl :
"Select from tbl_meinehp_user where 'E-Mail' = '$_REQUEST['e-mail']' "


greez david

Alt 03.08.2007, 09:28 MYSQL #2
Erfahrener Benutzer
 
Benutzerbild von DaPole
 
Registriert seit: 12.01.2007
Beiträge: 2.500
Standard

ehm Ja!

Genau so geht das!

mit Where ist das schon korrekt!

Benutze aber nie LIKE ( So iner art durchsuchen )
ISt unsicher und wird von kiddies leicht ausgetrickst!
Alt 03.08.2007, 09:29 MYSQL #3
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 05.07.2007
Ort: Schweiz
Beiträge: 1.601
disler eine Nachricht über MSN schicken disler eine Nachricht über Skype™ schicken
Standard

Danke!
Alt 03.08.2007, 10:48 MYSQL #4
Erfahrener Benutzer
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard

Zitat:
Geht das mit dem Befehl :
"Select from tbl_meinehp_user where 'E-Mail' = '$_REQUEST['e-mail']' "
Der Befehl ist net richtig geschrieben glaub nicht das er so funktionieren wird.
Und noch was schreib nie ungeprüft Werte von ausserhalb in die Db genau das machst du aber mit den Sql befehl.
Was willst du überhaupt von der Db abrufen das wurde nähmlich komplett vergessen im sql befehl anzugeben.

Select * from tbl_meinehp_user where E-Mail = '$mail' ;

Mfg Splasch
Alt 03.08.2007, 11:34 MYSQL #5
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 05.07.2007
Ort: Schweiz
Beiträge: 1.601
disler eine Nachricht über MSN schicken disler eine Nachricht über Skype™ schicken
Standard

Wenn einer eine E-Mail eingibt, sollen die Benutzerdaten des typ kommen. Das $Request['e-mail'] kommt vom Formular, wo er seine E-Mail angegeben hat. Das Formular macht eine überprüfung, ob es eine E-Mail ist, ausserdem vergleicht er sie dann mit den Daten in der DB! Deshalb dieser Befehl! Also erhrlich geasgt, verstehe ich den unterschied zwischen deinem und meinem Befehl ned!


nochmals meinem Befehl :
Select * From tbl_meienhp_user where E_Mail = 'Request["E-Mail"]'


E_Mail ist das Attribut in der DB!

P.S der Stern zwischen selext und From habe ich vergessen hinein zuschreiben! Der steht schon da!
Alt 03.08.2007, 12:09 MYSQL #6
Erfahrener Benutzer
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard

Zu einen mal spricht man in einer Db von Spalten und tabellen aber ist jetzt egal.
Was ein Request ist weiß ich. In deinen Fall geht es um Sql injektion da du den Quell code nicht absichert und Daten ohne zu Prüfen gleich in die Db schickst.

Daher mußte die werte die vom Formular kommen erst prüfen ob es keine gefährlichen sql befehle enthält die deine Db Manipulieren könnte.Darum übergibt man ein get,post ,request nicht dierekt sondern prüft das ganze voher.
Dafür gibst in Php schon fertig befehle die das machen.

PHP-Code:
$Mail=mysql_escape_string($_REQUEST['e-mail']); 
Mfg Splasch
Alt 03.08.2007, 12:23 MYSQL #7
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 05.07.2007
Ort: Schweiz
Beiträge: 1.601
disler eine Nachricht über MSN schicken disler eine Nachricht über Skype™ schicken
Standard

Ich habe gemeint, das dieser befehl:
$db = Select * From tbl_meienhp_user where E_Mail = 'Request["E-Mail"]'
etwas ausliest.

Mit diesem Befehl frage ich ja nur etwas ab! Oder?
Ich habe gemeint mit :
Select * From tbl_meinehp_user set E_Mail = 'Request["E-Mai"l]'
schreibe ich etwas in die DB!

Also jetzt bin ich ein wenig verwirrt! Könntest du mir genau sagen, was etwas hineinschreibt, und was etwas hinaus nimmt??


danke schon im voraus!
Alt 03.08.2007, 12:30 MYSQL #8
Erfahrener Benutzer
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard

Hi

Es ist egal ob du was lesen oder schreiben in die Db willst von ausen also Fremd user können das dann so Manipulieren das die Db entweder gelöscht wird oder einträge geändert werden bwz ein True zurückgeliefert wird.

schauen wir uns noch mal den Befehl an von dir

Select * From tbl_meinehp_user where E_Mail = '$_Request["E-Mai"l]'

So im Forumlar schreib nun ein Böser User ' or E_Mail='' //

Dann lautet dein Sql Befehl
Select * From tbl_meinehp_user where E_Mail = '' or E_Mail='' //;

Und siehe da Plötzlich gibt der Select befehl alles aus der Tabell aus die Where klausel wurde ausser kraft gesetzt.

Das war aber noch ein sehr Hamlose Manipulation des Sql befehles man könnte damit auch deine Db komplett löschen oder tabellen löschen oder sich selbst als Administrator eintragen und hätte dann vollen Zugriff auf deine Webseite.

Mfg Splasch
Alt 03.08.2007, 12:42 MYSQL #9
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 05.07.2007
Ort: Schweiz
Beiträge: 1.601
disler eine Nachricht über MSN schicken disler eine Nachricht über Skype™ schicken
Standard

Geht das auch, wenn ich im Formular mit Java Script definiert habe, das eine E-Mail Adresse angegeben werden muss??

<script type="text/javascript">

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' fehlt.\n'; }
} if (errors) alert('Folgende Fehler sind beim Sende versuch aufgetreten:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>


und hier noch das Form dazu!:

<form action="#" method="post" name="form1" onSubmit="MM_validateForm('e-mail','','RisEmail','passwort','','R');return document.MM_returnValue">


</p>
<table width="700">
<tr>
<td width="82"><label>E-Mail</label></td>
<td width="602"><input type="text" name="e-mail"></td>
</tr>

<tr>
<td><input type="submit" name="Submit" value="Senden"></td>
<td></td>
</tr>
</table>
</form>
Alt 03.08.2007, 12:48 MYSQL #10
Erfahrener Benutzer
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard

Ja das geht dann immer noch.Man muß nemlich garnicht dein Formular benutzen um dir ein Request zu schicken.Damit wird dann deine ganze Javaüberprüfung umgangen.

Also nicht sicher.

Mfg Splasch
Antwort

RB

Thema: MYSQL


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen für: MYSQL
Thema Autor Forum Antworten Letzter Beitrag
MySQL
Hallo, wir sind eine kleine Werbeagentur aus Berlin und besitzen eine selbstgebastelte Microsoft Access Datenbank, die mittlerweile 1GB groß ist....
Z New Media Software Probleme 1 20.11.2008 15:26
FTP und MySQL
Hi, einen FTP Server und eine MySQL Datenbank kann man doch nur Brooten oder? Ich will keinen Hacken, ist nur als Sicherheit, wenn man weis wie man...
Raptor Webmaster Hilfe / Programmierer Forum 2 06.06.2007 20:59
MySQL Datenbank
Hi, ich will/wollte ein einfaches Loginscript schreiben, das die Zugangsdaten in einer MySQL Tabelle speichert. Die Variablen sind alle zugewiesen...
Hagbart Webmaster Hilfe / Programmierer Forum 2 27.02.2007 17:58
PHP und mysql
hi, habe 4 php Dateien von 3 Dateien möchte ich auf die Datenbank zugreifen. in der 4ten php Datei stehen die Funktionen um auf die db zu...
Tom83 Webmaster Hilfe / Programmierer Forum 4 14.02.2007 17:44
mysql
Hi! Bei mir läuft mysql nicht ?( ! Hab Xampp und apache und filezilla is "running" aber mysql nicht. busy... mysql service started busy......
ratlos Software Probleme 1 24.04.2006 23:31

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum

Powered by vBadvanced CMPS v3.2.2


Sie betrachten gerade: MYSQL