Ich benutze Laravel 4 mit Eloquent.
Wenn ich die Benutzereingabe bekomme, benutze ich einfach $name=Input::get('name')
und dann mache ich $a->name=$name;
Ich weiß nicht, ob die Funktion Input::get
mich vor SQL Injection und XSS schützt. Wenn nicht, was muss ich tun, um die Eingabe zu bereinigen?
Und wenn ich den Wert in meiner Ansicht zeige, soll ich {{$a}}
oder {{{$a}}}
Grüße und danke.
Laravel verwendet die PDO-Parameterbindung, so dass SQL Injection Sie nicht kümmern sollten. Sie sollten dies lesen.
Input :: get () filtert nichts.
Dreifache geschweifte Klammern machen dasselbe wie e () und HTML :: entities (). Alle von ihnen rufen Htmlentities mit UTF-8-Unterstützung auf:
%Vor% Sie sollten {{{$a}}}
verwenden, weil zum Beispiel Input HTML-Tags haben kann. Laravel wird es nicht filtern.
Um eine SQL-Injection zu vermeiden, sollten Sie Ihre Parameter an folgende Parameter binden:
%Vor%und nicht:
%Vor%Tags und Links php xss laravel eloquent sql-injection