ラウンジ内でタグ入力を制限するには?

[上に] [前に] [次に]
さっち 1999/06/18(金) 14:51:38
こんにちは。
私は今掲示板を作成していますが、タグ入力を制限していないため
何でも出来てしまい、入力する内容によってテーブルが変になって
しまったり、その後の表示が変だったりします。
タグの入力を全面的に禁止したほうが良いのでしょうか?
みなさんは、どうしているのですか?

じぇい 1999/06/18(金) 15:04:41
僕は、必要なタグは自動閉じ機能をつけて(このラウンジでお世話になりました。)、それ以外のタグははじめのデコードの際に(フォームから受け取った値を連想配列に代入するとき)

$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;

このように変換しています。&lt;は、ブラウザで見ると、< と表示され、&gt;は、> と表示されます。要するにタグがタグとして扱われず、普通の文字列のように表示されます。

まあ、普通は自動閉じ機能なんかつけなくてもタグなんてあんまり使うもんじゃないから全部禁止して問題ないと思いますけど。。

さっち 1999/06/18(金) 15:16:01
じぇいさんありがとうございます。
ちょっと質問なんですが、<PRE> </PRE>でコメント(発言)
を囲むと、その中のタグは無効になるんですか?

しなのむし 1999/06/18(金) 15:23:37
http://www.rescue.ne.jp/の簡易BBSなんかだと

@dametag = ('<table(.|\n)*>','<meta(.|\n)*>','<form(.|\n)*>','<embed(.|\n)*>');

みたくしてひっかかったら別画面でそのタグが使えない由を告げるといった方法をとってますね。

別画面を出さずに自動的に任意のタグを無効にする方法は以前試してみて
面倒で挫折しました。(笑)

個人的にはここのラウンジのように、タグは基本的には禁止、URL等の書き込みは
クリック出来るように自動的にタグで囲んでやるといった方法が一番かと思いますが
どうでしょう?

しなのむし 1999/06/18(金) 15:49:33
あらら、書いてるあいだに・・・

><PRE></PRE>でコメント(発言)を囲むと、その中のタグは無効になるんですか?
それはないでしょう。(^^;

さっち 1999/06/18(金) 15:58:50
[[解決]]
どうもありがとうございます。
取りあえずお二人の方法でやってみます。
また何かのときには、よろしくお願いします。

[上に] [前に] [次に]