Brauche ich zum bereinigen der Benutzer-Eingabe Laravel
Bin ich mit Laravel 4 mit Eloquent.
Wenn ich die Benutzeroberfläche für die Eingabe benutze ich nur $name=Input::get('name')
und dann Mach ich $a->name=$name;
Ich weiß nicht, ob die Funktion Input::get
schützen mich vor SQL-Injection und XSS. Wenn nicht, was muss ich tun, um zu bereinigen, die Eingabe?
Und, wenn ich den Wert in meinem Ansicht, soll ich {{$a}}
oder {{{$a}}}
Grüße und Dank.
- Zusätzlich zu den anderen Antworten, falls Sie sich entscheiden, etwas zu verwenden, wie neu, Etwas(Input::all()) stellen Sie sicher, dass Sie den $ausfüllbare Felder, in die Etwas modellieren, um Sie zu schützen gegen Masse Belegung. Nicht unbedingt in Bezug auf deine Fragen, aber etwas bewusst zu sein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laravel nutzt PDO parameter-Bindung, so dass SQL-injection ist nicht etwas, was man machen sollte. Lesen Sie diese obwohl.
Input::get() keine filter nichts.
Dreifach geschweiften Klammern machen das gleiche wie e() und HTML::entities(). Alle von Ihnen nennen htmlentities mit UTF-8-Unterstützung:
Sollten Sie verwenden
{{{$a}}}
weil zum Beispiel die Eingabe kann HTML-Tags. Laravel nicht filtern.SQL-injection zu vermeiden, sollten Sie verwenden, binden Sie die Parameter für das ausführen von Abfragen wie:
und nicht:
htmlentities
Funktion ausgeführt wird, auf die variable Wert{{{
Laravel wird es für Sie tun