
今CGIをカスタマイズしています。
書き込みフォームでタグを使いたいのですが、タグをそのまま書き込むとHTML出力時に、<や>に変換されて表示されてしまいます。
なのでその変換する処理を無くしたいと思っているのですが、その処理を無くすとどういう不具合があるのでしょうか?無くそうと思っているのは下記のような箇所です。
~ s/</&lt;/g;
~ s/>/&gt;/g;
(わざと全角で書いてます)
書き込みデータにはdatファイルを使っています。
No.6ベストアンサー
- 回答日時:
念のため・・・
No.4は表示するときではなく、
>formからのデータ取得時にタグを解析して<b>や<font color="~">以外のタグは変換する
方法のつもりで書きました
※<>→<>変換処理の直後に入れる。
いちいち<font color="~">と記述するのは大変なので、
<色=red>赤文字</色>などと覚えやすいタグにするのも親切でいいかも
#<色=red>~</色>を<font color=red>~</font>に
=~ s/<(色)(.*?)>(.*?)<\/\1>/<font color$2>$3<\/font>/gi;
返事が遅れてすいません。
今確認してみたところ、ちゃんと動いておりました。
ありがとうございます。
最善の方法を教えていただき感謝しております。
No.4
- 回答日時:
必要なタグだけ元に戻す処理を入れたらどうでしょう
#<b>~</b>
=~ s/<(b)>(.*?)<\/\1>/<$1>$2<\/$1>/gi;
#<font xxx>~</font>
=~ s/<(font)(.*?)>(.*?)<\/\1>/<$1$2>$3<\/$1>/gi;#
↑
閉じられていないのにも対処。もっと上手いやり方があるかも
No.2
- 回答日時:
掲示板か何かでしょうか?
その処理をなくせばお望みどおり、HTMLが有効になります。
ただし、書き込みの中のHTMLに間違った記述があれば、表示が崩れます。
たとえば、</html>と書き込んでしまえば、その後は表示されなくなってしまいますし、
大きいフォントを選んで、タグを閉じていなければ、その後の書き込みも
すべて大きいままになります。
また、悪戯もあるかもしれません。
場合によってはブラウザクラッシャーを仕込まれたり、
妙なスクリプトを貼られるかもしれません。
No.1
- 回答日時:
例えば掲示板ならタグを使えるようにすると、単なる文字の修飾に留まらずjavascriptを埋め込めたりと、いたずらに使えてしまうので禁止/無効化してある場合がほとんどです。
また悪意がなくとも間違ったタグの記述や閉じ忘れによって表示がおかしくなることもあります。
また超有名CGIサイトのPerlスクリプトはデータの区切りに'<>'を使用していて、その方式が広まったために
スクリプトによって何らかの処置をしないとデータファイルがうまく読み書きできなくなる事もあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
フォームを再送信しますか?
-
chatGPTみたいに画像生成出来る...
-
ChatGPTの性能は昔に比べて上が...
-
入力フォーム(電話番号)
-
ChatGPT
-
フォントを探しています
-
クッキーが別PCで共有されてしまう
-
iDeCo
-
皆さんはGUCCIはハイブランドだ...
-
cgi-binのエラー?
-
Trees掲示板CGI(CGI-Resque氏...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
ChatGPT
-
ChatGPTの性能は昔に比べて上が...
-
フォームを再送信しますか?
-
chatGPTみたいに画像生成出来る...
-
apacheでPerl CGIが作動せず、5...
-
入力フォーム(電話番号)
-
ホームページでCGIのフォームを...
-
VBAで条件から範囲を指定して色...
-
(フリーの)ツリー掲示版CGI、...
-
/bin/awk '{print $5}'ってどう...
-
CGIが読み書きするデータファイ...
-
perlで書いたcgiでsqliteの使い...
-
生成AI画像について
-
CGI.pmはもう古い!?
-
cgi-binのエラー?
-
古ーくからフリーのtree.cgi掲...
-
皆さんはGUCCIはハイブランドだ...
-
htmlからパラメータで、cgiに渡...
-
CGIの記述について教えてくださ...
おすすめ情報