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

プログラム初心者です

簡単な掲示板を作りました

一部のHTMLのタグを許可する方法を教えてください

素人なりに考えたのですが、一回タグをすべて無効化して<code>にしてから許可したいタグにマッチした文字だけをHTMLにすればどうかなと思ったんです


質問1
これで、セキュリティ的に安全ですか?

質問2
10個くらいのタグを置き換えると負荷は重そうですか?メッセは最大2000文字程度です


<?PHP
$mes//投稿されたメッセ(タグは除去済み)

$pattern="/&lt;code&gt;/";
$replacement="<code>";

preg_replace($pattern,$replacement,$mes);

$pattern="/&lt;/code&gt;/";
$replacement="</code>";

preg_replace($pattern,$replacement,$mes);
?>


許可したいタグは、b、code、tableなどのタグなどです

質問3
もっと他にいい方法があればお願いします

よろしくお願いします

A 回答 (1件)

回答1


style属性やonclick属性なんかでわりと何でも出来てしまうので、完全に安全とは言い難いです。

回答2
全然大したこと無いです。常識的な範囲の処理でかつネットワークアクセスを介さない処理は「一瞬」です。前の件の正規表現も一見すごく重そうに見えましたが一瞬でしたね。


解決策としては、Markdown記法の採用が最適でしょうか。パーサーはたくさんあるようなので、お好きな物を選んでください。
https://www.google.co.jp/search?q=markdown+php
    • good
    • 0
この回答へのお礼

回答ありがとございます
onclick属性がつけれました。全然ダメでしたorz

お礼日時:2013/11/10 12:00

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