2016-05-11 7 views
1

私は問題があり、エンコードされたhtmlをmySQLデータベースに保存しています。 しかし、私はデコードし、変数をエコーし​​ます。出力に二重引用符を追加します。PHPは、mySQLフィールドのecho変数を引用符で囲みます。

コード:

$content = mysqli_fetch_array($r); 
    $data = $content['contentHTML']; 
    $html = html_entity_decode($data,ENT_COMPAT, 'UTF-8'); 
    $output  = <<<MY_MARKER 
$html 
MY_MARKER; 
echo $output; 

$html = "I am going to hax0r your site, hahaha! <script type='text/javascript'> window.location = 'http://www.example.com/' </script>" 

が、ブラウザにエコーする場合には、「追加されます

この作品:。

$str = <<<MY_MARKER 
<script type="text/javascript"> 
document.write("Hello World2!<br>"); 
</script> 
MY_MARKER; 

echo $str; 

とこの作品:

を10
$userInput = "I am going to hax0r your site, hahaha! <script type='text/javascript'> window.location = 'http://www.example.com/' </script>"; 
$str = <<<MY_MARKER 
$userInput 
MY_MARKER; 

しかし、私のコードは引用符で出力されるので、javascriptがブラウザに表示されます。

それは...事前に

おかげ

screen grab of browser output, and web inspector

+0

MySQLデータベースに格納するmysqli_real_escape_stringを使用することができますあなたは 'contentHTML'カラムにあるものの例を教えてください – RiggsFolly

+0

あなたは飾りを印刷しています –

+0

私はあなたのサイトha haha​​に行くつもりです! & lt;スクリプトタイプ= &#039; text/javascript &#039; & gt; window.location = &#039; http://www.example.com/ &#039; & lt;/script & gt;データベースから –

答えて

0

SOLUTION MySQLからのテキストを取得するとは何かです:HTMLをエンコードし、その後

関連する問題