cgi-scrip und ' escapen

17/10/2011 - 16:57 von Jan Novak | Report spam
Hallo,

ich habe mir ein shell cgi-bin Script gebastelt.
Dort wird unter anderem sowas ausgegeben:

echo '
(HTML)
<input type="button" onclick="alert('$VAR')">
'

Leider funktioniert dieser onclick nicht, da das Hochkomma vor und nach
$VAR nicht in das Javascrip übergeben wird. Verschiedene Versuche, es
mit \' oder mit "' oder àhnlichen zu lösen sind gescheitert.
Javascript benötigt vor dem Text - in meinem Fall vor der Variablen $VAR
ein ' - dieses nutze ich ja aber für die echo Ausgabe.
Auch ein umkehren der Anführungszeichen, also
echo " statt echo '... nutzt leider auch nicht.
Hat jemand eine Idee ?


jan
 

Lesen sie die antworten

#1 Stefan Reuther
17/10/2011 - 18:44 | Warnen spam
Jan Novak wrote:
echo '
(HTML)
<input type="button" onclick="alert('$VAR')">
'

Leider funktioniert dieser onclick nicht, da das Hochkomma vor und nach
$VAR nicht in das Javascrip übergeben wird. Verschiedene Versuche, es
mit \' oder mit "' oder àhnlichen zu lösen sind gescheitert.
Javascript benötigt vor dem Text - in meinem Fall vor der Variablen $VAR
ein ' - dieses nutze ich ja aber für die echo Ausgabe.
Auch ein umkehren der Anführungszeichen, also
echo " statt echo '... nutzt leider auch nicht.



Doch, natürlich.

Wenn ich wilde Mischungen aus Quotes und sonstigen Sonderzeichen habe,
nehme ich 'echo ""'. Dann muss innerhalb des Strings jedes
Sonderzeichen individuell mit einem Backslash maskiert werden, was zwar
erstmal Mühe macht, aber dafür einfach verstàndlich ist.

Ansonsten wàre vielleicht noch 'cat' mit einem here-document sinnvoll.
Darin musst du dann nur $ und \ maskieren.


Stefan

Ähnliche fragen