Nasıl parantez ve PHP bir değişkene diğer öğeleri ile bir dize ayarlayabilirsiniz?

2 Cevap

Benim kod burada bu kod bazı http://ha.ckers.org/xss.html sınamak çalışıyorum. Bunu yapmak için ben bir PHP değişkeni o sayfadaki kodları ayarlamak gerekiyor, ben olsa sorun yaşıyorum.

Örneğin, aşağıda bu kod, çünkü "kodu" ve 'kod' sadece bir değişkene ayarı için yanlış '" ben bahsediyorum budur. Bunu nasıl sayfasından ya da aşağıdaki test için bir PHP değişkeni içine kodu belirleyebilirsiniz?

$string = '<IMG SRC=\"javascript:alert('XSS');\"><b>hello</b> hiii';

2 Cevap

Başka bir yol, (eğer tırnak, ne de çift tırnak kaçmak zorunda değilsiniz) belki biraz daha kolay kullanmak olacaktır Heredoc syntax:

$string = <<<STR_1
<IMG SRC="javascript:alert('XSS');"><b>hello</b> hiii
STR_1;

Eğer bazı varsa, varible enterpolasyon zorunda değil, hala $ işaretini kaçmak gerekir unutmayın.

Manuel alıntı:

Heredoc text behaves just like a double-quoted string, without the double quotes. This means that quotes in a heredoc do not need to be escaped, but the escape codes listed above can still be used. Variables are expanded, but the same care must be taken when expressing complex variables inside a heredoc as with strings.

Not: Bu konuda kılavuzunu okuyun: Eğer metin sözdizimi kullanmadan önce bilmeniz gereken bazı şeyler vardır (kapanış tanımlayıcı olmalı gerçeği gibi alone kendi satırında)

Eğer declare the string ile kullanılan tırnak kaçmak gerekir. Tek tırnak sizin durumunuzda Yani:

'<IMG SRC="javascript:alert(\'XSS\');"><b>hello</b> hiii'

Aksi dize o çıkmamış alıntı ile iptal olacaktır.