-1

データベースのテキスト フィールドにデータをインポートしています。しかし、入力しようとすると

<strong> Hi There </strong>

テーブルで(php myadminを使用して)次のように見つけます

"&lt;strong&gt; Hi There &lt;/strong&gt;" 

それは私のフロントウェブページにそれを次のように表示します

<strong> Hi There </strong>

明らかに望ましい結果ではありません。

ここに何かアイデアはありますか?通常のテキスト形式を使用しています。

4

3 に答える 3

1

データを入力しているときは、おそらくhtmlspecialchars()またはでスクラブされている可能性がありますhtmlentities()

タグをデコードするには、次を使用しますhtml_entity_decode()

http://php.net/manual/en/function.html-entity-decode.php

于 2011-10-30T03:15:13.187 に答える
1

うん。ここで行われているのは単純なエンコードであるため、保存されたフォームは安全です。Web ページに表示する前に、PHP 組み込みの html_entity_decode() を介して渡します。

これが起こらなかった場合、誰かが HTML を持つべきではないフィールド (ユーザー名など) に独自の HTML を入力するのは非常に簡単であり、その後、あなたの Web サイトを変更することができてしまうことに注意してください。

于 2011-10-30T03:15:31.627 に答える
0

データベースに保持されている、またはコンテンツ内に表示されているさまざまなユーザー入力を処理するときは、常に xss 攻撃に注意する必要があります。申し訳ありません...

ユーザー名: 最小長と最大長をチェックし、ASCII の範囲外ではなく、厳密に html や特殊文字などを使用せず<>;'"%、先頭と末尾からスペースを削除します。フォームに出力する場合は、常に を使用しますhtmlspecialchars()

パスワード: 最小長と最大長をチェックし、少なくとも 1 つの大文字と 1 つの英字を使用して安全を確保します。データベースに保存するときは常に暗号化し、md5 を使用しないでください。htmlspecialchars()フォームに出力する場合は、属性を使用しない場合は常に使用しtype="password"ます。

電子メール: 有効な電子メール アドレスであることを確認します。

主なコメント、投稿投稿領域: すべての javascript、html を削除し、および/または画像、リンク、書式設定に必要な場合はユーザーが BBcode を挿入できるようにしてから、表示時に BBcode を有効な html に変換します。

于 2011-10-30T04:19:43.470 に答える