2012-05-21 6 views
6

可能性の重複:
What's the best method for sanitizing user input with PHP?phpがデータベースに保存されているHTMLコードを消去する方法はありますか?

私は、用途はウェブページの小さな部分を編集できるようにTinyMCEのを使用しています。

このフィールドはデータベースに保存されます。

入ってくるHTMLコードを消去するために使用できる正規表現はありますか?XSS/NULL/DROP TABLES攻撃ですか?

私はこれを1行の入力テキスト/数字などで行ってきましたが、HTML文字列を受け取ったときにこれをどうするかについてはわかりません。

答えて

10

私はHTMLPurifierで遊んでお勧めします。

+0

ありがとう@ raina77ow見てみましょう! – GT22

5

あなたは、PHPの関数を使用することができます。striptagshtmlspecialchars

http://php.net/manual/en/function.strip-tags.php

+0

これは、TinyMCEをによって生成HTMLを抹消します。彼はHTMLを許可したいが、XSSの脅威を取り除きたい。 – MrCode

+0

@MrCodeが正しいです。私はタグを取り除き、危険なタグやjavascriptを取り除きたくない。 – GT22

2

あなたはこれを使用することができます - 私はそれを使用していますし、それがうまく働いて

function safe_sql($obj) 
{ 
    $obj = htmlspecialchars($obj); 
    $obj = str_replace('"',""",$obj); 
    $obj = str_replace("'","'",$obj); 
    $obj = str_replace("`","`",$obj); 
    $obj = mysql_real_escape_string($obj); 
    return $obj; 
} 

。 (あなたは、データベースからデータを取得した後) そして、あなたも、それは通常にするために、この機能を使用することができます -

function to_Normal($data) 
{ 
    $data = htmlspecialchars_decode($data); 

    $data = str_replace(""",'"',$data); 
    $data = str_replace("'","'",$data); 
    $data = str_replace("`","`",$data); 
    $data = nl2br($data); 
    return $data; 
} 
関連する問題