das kommt darauf an, wie du 'gefährlich' definierst, würde ich sagen.
an was für einen fall denkst du zum beispiel?https://forum.selfhtml.org/?t=215430&m=1475325
Hier lässt sich auch problemlos ein beliebiges Script einschleusen, welches z.B. die komplette Verzeichnisstruktur des Servers in ein Archiv verpackt und zum Download bereitsstellt oder irgend eine Shell installiert (r57 / c99 z.B.)
einfache anführungszeichen statt doppelte reichen ja, wie auch im thread schon gesagt wurde.
nein, das reicht auch nicht - wenn ein einzelnes Anführungszeichen vorkommt muss man das maskieren ;)
es geht um das interpolieren von variablen innerhalb von double quotes.
du hast eine variable $x und erstellst eine variable $y, die $x enthält.
interpolation:
$y = "foo $x bar";
keine interpolation:
$y = 'foo $x bar';
ich kann da jetzt keinerlei gefahr entdecken, die von diesem code ausgeht. und ich sehe hier auch nicht, wo ich irgendwas maskieren müsste.
die reine interpolation von strings wird bei der ausführung nicht dafür sorgen, dass dir die festplatte gelöscht wird oder irgendwas.
ich zitiere nochmal:
ist dieses Verhalten, für das automatische Ersetzen bzw. das Auflösen von Variablen innerhalb von Zeichenketten, in PHP nicht generell potentiell gefährlich?
1. ich sehe keine gefahr, daher habe ich nach einem beispiel gefragt. dein beispiel zeigt nicht, inwiefern die interpolation gefährlich wäre.
2. das interpolieren verhindert man, indem man single quotes benutzt. die frage von simon war, wie man das interpolieren deaktivieren kann.
das, was du beschreibst, ist, einen beliebigen string ungeprüft (in dem fall muss man schon blind sein) in ein skript hineinzuschreiben. das ist was ganz anderes und hat nichts mit interpolation zu tun.
vielleicht sollte simon doch lieber selbst ein beispiel liefern.