« SPAMサイト撃沈? | トップページ | 「Firefox」ってどうよ? »

2004/12/04

ColdFusionでフォームの作成 6/6

「フォームの作成」は今回で最後になります。
実際にはこの後、<CFQUERY>でデータを登録したり、<CFMAIL>を使ってメール送信をしますが、それはまた後程解説したいと思います。

最後に画面に表示をするのですが、クロスサイトスクリプティングに気をつけなければなりません、この「フォームの作成」では、入力された文字をただ表示するだけなので、それほど問題は無い思いますが、文中に<、>、"、&があった場合、タグと認識され画面上に表示されなくなってしまうので、エスケープ文字に変換してあげる必要があります。
掲示板などを設置する場合は、悪意のある投稿により意図しないHTMLやJavaScriptを書かれてしまう可能性がありますので、必須で処理する必要があります。

Perlなどではいちいち各文字を変換する記述をしなければいけませんが、ColdFusionではHTMLEditFormat()関数を使うだけで、上の文字をエスケープ文字に変換してくれます。
この関数を<CFOUTPUT>#FORM.myName#</CFOUTPUT>のFORM.myNameに適用するだけでOKです。
適用後は、#HTMLEditFormat(FORM.myName)#となります。
これで、HTMLで使う文字を入力されてもエスケープ文字に変換され、画面に表示される様になります。

それでは、完成したCFMです。

<CFIF IsDefined("FORM.myName") AND Trim(Replace(FORM.myName, " ", " ","all")) NEQ "">
  <CFOUTPUT>#HTMLEditFormat(FORM.myName)#</CFOUTPUT>
<CFELSE>
  <CFFORM action="#CGI.SCRIPT_NAME#" method="post">
  <CFINPUT name="myName" type="text" size="20" maxlength="30" required="yes" message="名前を入力してください">
  <INPUT type="submit" value="送信">
  </CFFORM>
</CFIF>

【予告】
次回は今回作成したフォームからメール送信方法を紹介します。

◇この記事が参考になりましたらこちらをクリック ≫ 人気blogランキング

◇「『うぇっぶ』のはなし」へのコメント募集中 ≫ ビジネスブログランキング100選

|
|

« SPAMサイト撃沈? | トップページ | 「Firefox」ってどうよ? »

ColdFusion」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/26804/2152925

この記事へのトラックバック一覧です: ColdFusionでフォームの作成 6/6:

« SPAMサイト撃沈? | トップページ | 「Firefox」ってどうよ? »