dポイントプレゼントキャンペーン実施中!

PHPで、「htmlタグを含んだ文字」を、
データベースへ読み書きする安全な方法を教えて下さい。


リンクタグや、フォントタグなどは、
そのまま使用できるようにしたいです。


■追加する時
htmlフォームからデータベースに保存(SQLインジェクション)


■編集する時
データベースからデータを読み出す(htmlエスケープ)
htmlフォームで再編集し、データベースに保存(SQLインジェクション)


こういう作業になるかと思いますが、
どのように処理したら、htmlタグを使いつつ、
安全に更新ができるでしょうか?
教えてくださいm(_ _)m

A 回答 (2件)

>■内容を再編集する時、htmlタグを無効化しつつ、再編集する方法



PHPで編集するというからにはhtml画面上で処理をすると考えてよいですね?
であればtextareaにhtmlspeacialcharsで処理した文字列を入れて
編集させるのが一般的でしょう。

>■データベース登録時、プリペアドステートメントで、\(円マーク)がついてしまう事の対処方法

SJISの5C問題あたりを気にしているのでしょうか?
もし万が一DBのキャラクターセットをSJIS系にしようと考えているなら
やめた方がいいでしょう。
UTF8なり適切な文字コードを利用して、入出力の際に文字コードの
コンバートをかけることで問題は最小化することができます。

また見た目上エスケープした文字が登録されても、PHPで抽出して出力するときには
アンエスケープされた状態で取り出せるとおもいます
    • good
    • 0

普通にプリペアドステートメントで処理すればよいのでは?

この回答への補足

投稿、有難う御座います。


■内容を再編集する時、htmlタグを無効化しつつ、再編集する方法

■データベース登録時、プリペアドステートメントで、\(円マーク)がついてしまう事の対処方法


この辺りをお聞きしたかったのです。

補足日時:2013/03/19 17:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す