php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-03-2008, 13:15
Londrag
 Registrierter Benutzer
Links : Onlinestatus : Londrag ist offline
Registriert seit: Jun 2004
Beiträge: 56
Londrag ist zur Zeit noch ein unbeschriebenes Blatt
Standard Anti SQL Injection Function

Mein letzter Thread wurde leider ins tote Tutorial Forum verschoben (danke!), wo ich nun keine Antwort mehr bekommen werde .

Dann formuliere ich mal meine Frage anders.

Da dieses Script hier ja anfällig auf SQL Injections ist, würde es mich interessieren ob es ausreichen würde, wenn ich es mit folgendem Code ergänze:

PHP-Code:
function my_real_escape_string($var)
{
    if(
get_magic_quotes_gpc())
    {
        
$var stripslashes($var);
    }
return 
mysql_real_escape_string($var);
}


$username my_real_escape_string($_POST[username]);
$userpass my_real_escape_string($_POST[userpass]); 
Und dann halt dementsprechend überall wo $_POST['username'], $_POST['userpass'] im Script steht, mit $username und $userpass ersetzen.
Mit Zitat antworten
  #2 (permalink)  
Alt 18-03-2008, 13:29
case
 Registrierter Benutzer
Links : Onlinestatus : case ist offline
Registriert seit: Mar 2007
Beiträge: 265
case ist zur Zeit noch ein unbeschriebenes Blatt
case eine Nachricht über ICQ schicken
Standard

Der Thread ist doch noch auf und er wurde gerade mal vor 3!! Stunden verschoben.

Zitat:
Original geschrieben von jahlives
Sorry aber da es nicht dein eigener Code ist sondern sich auf ein Tutorial bei uns bezieht gehört es für mich nach Tutorials
Ich denke du kannst die gleiche Frage in jedem Forum posten und alles wird immer wieder gelöscht/verschoben.
Mit Zitat antworten
  #3 (permalink)  
Alt 18-03-2008, 13:36
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also ich sehe kein konkretes PHP Problem, wie es für dieses Forum nötig wäre. Hier bist und bleibst du mit dieser Frage falsch.
Was noch drinläge wäre Brainstorming, da du zu einer deiner PHP Funktionen Tipps willst (obwohl mir es absolut unsinnig erscheint eine eigene Fkt zu schreiben, für etwas was PHP schon bietet)
Du willst Tipps was an deiner Fkt zu verbessern wäre? **move** nach Brainstorming
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #4 (permalink)  
Alt 18-03-2008, 13:58
Londrag
 Registrierter Benutzer
Links : Onlinestatus : Londrag ist offline
Registriert seit: Jun 2004
Beiträge: 56
Londrag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schade das hier Bürokratie vor Benutzerfeundlichkeit kommt

Naja, ich zitiere aus der Überschrift von dem PHP Forum: "Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. " Das ist doch der Fall.

Skriptproblem = SQL Injection anfällig
Diskussion = Meine Lösung sicher?

Dann muss ich jetzt wohl einfach warten...
Mit Zitat antworten
  #5 (permalink)  
Alt 18-03-2008, 14:00
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Such doch mal im Forum. Eben noch habe ich einen Link zu einem Script gepostet, dass sich mit genau deiner Problematik beschäftigt.

Ansonsten wurde dir schon gesagt: Warum eine Funktion für etwas schreiben, das PHP auch kann?
Mit Zitat antworten
  #6 (permalink)  
Alt 18-03-2008, 14:04
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Warum sollte deine Funktion reichen? Du überprüfst zum Beispiel nicht, ob die POST-Werte gesetzt sind. Die magic_quotes-Behandlung würde ich generell außerhalb der Funktion halten!
Außerdem reagierst du auf alle Eingaben gleich: Konversion nach String. Aber bei einer ID oder etwas in die Richtung solltest du einen Cast nach Integer vornehmen!
Mit Zitat antworten
  #7 (permalink)  
Alt 18-03-2008, 14:13
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Londrag
Naja, ich zitiere aus der Überschrift von dem PHP Forum: "Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. " Das ist doch der Fall.
eben nicht ... nur hast du kein scriptproblem ... sondern willst mit-user um ihre meinung fragen und diskutieren.

Zitat:
BRAINSTORMING PHP/SQL/HTML/JS/CSS
Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen! [...]
/ende
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #8 (permalink)  
Alt 18-03-2008, 14:40
Londrag
 Registrierter Benutzer
Links : Onlinestatus : Londrag ist offline
Registriert seit: Jun 2004
Beiträge: 56
Londrag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Cool, einer meint die Funktion sei nicht annähern ausreichend, der andere meint eine Funktion sei überflüssig

Zitat:
Original geschrieben von unset
Ansonsten wurde dir schon gesagt: Warum eine Funktion für etwas schreiben, das PHP auch kann? [/B]
Weil PHP es von Haus aus nicht korrekt macht. Wenn magic_quotes_gpc auf dem Server aktiviert, sollte zuerst stripslashes() auf die Daten angewendet werden. Das Bearbeiten bereits in irgend einer Form maskierter Daten durch mysql_real_escape_string führt ansonsten dazu, dass bereits Maskiertes doppelt maskiert wird, was wieder zu einer SQL Injection führen kann.

So habe ich moch zumindest auf PHP.net und auch hier im Forum informiert.

Wieso sollte die Anti SQL Injection Funktion überprüfen ob die $_POST Werte überhaupt gesetzt sind? Das wäre doch eher eine Sinnvolle Methode für das Login Script im allgemeinen, falls $_Post Username oder Password nicht gesetzt sind, erst gar nicht eine überprüfung der Daten vornehmen, sondern gleich ein return false ausgeben. Oder verstehe ich dich falsch?

Zitat:
[..]in die Richtung solltest du einen Cast nach Integer vornehmen!
Okay, das mich ich erst mal Googlen, habe nur Bahnhof verstanden

Vorerst mal Danke auch beiden.

@Abraxax
Ist den eine SQL Injection kein Problem sondern nur eine Meinung? Egal, ich hoffe ich bekomme hier genügend Antworten, danke
Mit Zitat antworten
  #9 (permalink)  
Alt 18-03-2008, 14:52
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Londrag
Cool, einer meint die Funktion sei nicht annähern ausreichend, der andere meint eine Funktion sei überflüssig
Ah, ich verstehe langsam. Du wirfst gerne Sachen durcheinander. Na gut, ich erkläre es dir gerne. Der eine sagt, das deine Funktion überflüssig ist, weil das was du erreichen willst PHP von Haus aus kann. Der andere sagt, dass der Weg wie du das was PHP von Haus aus kann erreichen willst absolut unzureichend ist!
Mit Zitat antworten
  #10 (permalink)  
Alt 18-03-2008, 14:55
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wieso sollte die Fkt das Vorhandensein der POST Werte prüfen müssen? Diese werden ja als Argument übergeben, sprich die Prüfung muss ausserhalb der Fkt stattfinden...
Die Fkt wäre auch etwas arg unflexibel wenn nur zwei bestimmte POST Felder akzeptiert würden. Für jedes neue Feld die Fkt anpassen wäre dann angesagt.
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #11 (permalink)  
Alt 18-03-2008, 14:59
Londrag
 Registrierter Benutzer
Links : Onlinestatus : Londrag ist offline
Registriert seit: Jun 2004
Beiträge: 56
Londrag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von unset
Ah, ich verstehe langsam. Du wirfst gerne Sachen durcheinander. Na gut, ich erkläre es dir gerne. Der eine sagt, das deine Funktion überflüssig ist, weil das was du erreichen willst PHP von Haus aus kann. Der andere sagt, dass der Weg wie du das was PHP von Haus aus kann erreichen willst absolut unzureichend ist!
Also wenn du meinst dass PHP von Haus aus überprüfen kann, ob die Magic Quotes aktiviert sind, und dann entsprechend den my_real_escape_string Befehl ausführt, dann bitte nenne mir doch diesen Befehl.

Ich habe noch Beispiele gesehen bei der !is_numeric in der Funktion verwendet wird. Also falls der String nur aus Zahlen besteht, erst gar nicht my_real_escape_string ausführen. Jedoch Frage ich mich ob das wirklich sinn macht. Fühle mich irgendwie sicherer wenn einfach ALLES durch den "Schredder" gejagdt wird.

Geändert von Londrag (18-03-2008 um 15:06 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 18-03-2008, 15:07
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Du könntest beispielsweise direkt zu Beginn prüfen, ob Magic Quotes aktiviert sind und ggf. ausschalten. Somit sparst du dir das ganze jedes einzelne mal abzufragen! Und allein das escapen schützt dich nicht zwingend vor einer SQL-Injection!

Ansonsten: Ich habe eben schon gesagt, dass ich etwas zu diesem Thema in einem anderen Thread geschrieben habe. Vielleicht bemühst du dich endlich mal darum dir das anzusehen statt hier den Sturkopf zu spielen.
Mit Zitat antworten
  #13 (permalink)  
Alt 18-03-2008, 15:51
Londrag
 Registrierter Benutzer
Links : Onlinestatus : Londrag ist offline
Registriert seit: Jun 2004
Beiträge: 56
Londrag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ganz ruhig unset...Gus Fraba...Ich Sturkopf? Und das von jemanden der es bevorzugt über mehrere Beiträge hinweg in mehreren Sätzen schreibt, man solle seine ganzen Posts von Heute durchsuchen anstatt kurz die 11 Buchstaben php-ids.org zu schreiben. Immer diese Hypokraten Aber lassen wir diese streiterei nun.

Ich frag mich nun aber doch was umständlicher ist, in einer Funktion die Abfrage if(get_magic_quotes_gpc()) einbauen oder in der php.ini auf die man eventuell gar keinen Zugriff hat magic_quotes deaktiveren, oder alternative eine htaccess anlegen und es dort deaktiveren.

Ich wähle da doch lieber if(get_magic_quotes_gpc()). So bin ich von .htaccess und php.ini unabhängig.


Werde mir nun aber diese PHP IDS genau anschauen, danke.
Mit Zitat antworten
  #14 (permalink)  
Alt 18-03-2008, 15:58
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Londrag
Ich frag mich nun aber doch was umständlicher ist, in einer Funktion die Abfrage if(get_magic_quotes_gpc()) einbauen oder in der php.ini auf die man eventuell gar keinen Zugriff hat magic_quotes deaktiveren, oder alternative eine htaccess anlegen und es dort deaktiveren.
Wer sagt, dass du in der ini rumschwurbeln sollst? Du kannst Konfigurationseinstellungen von PHP in großen Teilen zur Laufzeit vornehmen. Darunter auch das aktivieren und deaktivieren von Magic Quotes. Das bringt mich dann wieder zu einem früheren Post: Du wirfst gerne Sachen durcheinander. Vielleicht ist auch das der Grund warum ich dich dazu animiere dich selbst auf die Suche zu begeben und dir dahingehend Schlagworte liefere statt dir alles vorzukauen was du dann per C&P in dein Script übernimmst und wahrscheinlich noch als dein eigenes verkaufst!

Und nochmal: Lass doch einfach das Sturkopfgehabe. Du hast offensichtlich keine besonders große Ahnung - was auch nicht weiter schlimm ist. Aber evtl. solltest du deine eigene Überheblichkeit etwas zurückschrauben und auf das eingehen, was dir Leute mit offensichtlich wesentlich mehr Erfahrung raten! Und damit beziehe ich mich nicht auf mich!
Mit Zitat antworten
  #15 (permalink)  
Alt 18-03-2008, 16:22
Londrag
 Registrierter Benutzer
Links : Onlinestatus : Londrag ist offline
Registriert seit: Jun 2004
Beiträge: 56
Londrag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schön was du mir hier alles an den Kopfschmeist....
- Ich bin ein Sturkopf
- Ich bringe alles durch einander
- Meine Scripts bestehen nur aus copy&paste
- Ich sei Überheblich
- Ich verkaufe vorgefertige script als mein eigen


Unset, aber sonst gehst dir noch gut? Langsam reicht es echt. Ich habe hier freundlich gefragt wie man das Tutorial von mrhappiness sicherer gestalten kann was die SQL Injection angeht.

Ich habe mich auch für die Vorschläge bedankt und auch meine Gedanken zu den Vorschlägen geschrieben. Du scheinst mich aber mit jeder deiner Antwort fertig machen zu müssen. Wäre dir dankbar wenn du entweder was Hilfreiches schreiben könntest, oder aber sonst mit deiner assozialen Haltung fern von diesem Thread bleibst. Danke dir.

Das man die magic_quotes auch ohne eine Änderung in der PHP.ini oder in der .htaccess deaktiveren kann, war mir nicht bewusst. Denn ich habe folgendes gefunden:
Zitat:
magic_quotes_gpc | changable: PHP_INI_PERDIR|PHP_INI_SYSTEM

ie. "Entry can be set in php.ini, .htaccess or httpd.conf" and not in
user scripts.

Geändert von Londrag (18-03-2008 um 16:30 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:22 Uhr.