Gerade habe ich noch über SQL Injection bei Rails geschrieben und nun habe ich mich auch schon dem Thema Cross-Site Scripting zugewendet. Wieder beziehe ich mich auf das Dokument Securing your Rails, dieses mal auf das Kapitel 2.

Bei Rails ist die Verteidigung gegen Cross-Site Scripting so simpel, dass es keine Ausrede mehr gibt, das nicht zu tun. Bei PHP rege ich mich jeweils ein wenig über den sehr langen Funktionsnamen htmlspecialchars auf. Bei Rails lautet die Funktion einfach h. Und das ist auch richtig so, wird doch diese Funktion extrem oft benötigt.

In der Praxis sieht das dann so aus:

<%=h @customer.company %>

Kurz und prägnant also. Wird der Wert in einer Funktion, wie zum Beispiel link_to verwendet, nehme man folgenden Code:
h(@project.title)