ColdFusionカフェテリア
SAMURAIZ

 

←前 | ↑一覧 | 次→

URLにパラメーターを付ける際・受け取る際の注意事項

URLパラメーターは、ブラウザのURLアドレスに付加するため、指定できる変数名や値に制限があります。その制限を知り、適切な回避を行わないと、値が途中で切れたり文字化けを起こす場合があるため注意が必要です。

シンタックス

<a href="リンク先URL?変数名1=値1&変数名2=値2&変数名3=値3&...">リンクメッセージ</a>

URL変数をセットする際の注意事項

URL変数をセットする際には、次の点に注意して下さい。

  • URLとパラメータを区別するために、URLの後にクエスチョンマーク(?)を付けます。
  • URL変数は、変数名=値としてセットします。
  • 変数名・値には、記号やスペースなどを含めてはいけません。また、同様に日本語も含めないで下さい。値として日本語を送りたい場合は、値をエンコードします(次で説明します)。
  • 複数のURL変数を送る場合は、変数と変数との間をアンド(&)で区切ります。
  • <a>タグは HTMLタグのため、URL変数の値を動的に(ローカル変数の値などを)セットする場合は、<cfoutput>〜</cfoutput>で囲まれていることを確認しましょう。
<cfset company_name="samuraiz">
<cfoutput>
  <a href="next.cfm?cname=#company_name#">リンク</a>
</cfoutput>

リンク先のページでURL変数を参照(使用)する際の注意事項

リンク先のページでは、URL変数として値を参照(利用)する際には、次の点に注意して下さい。

  • URL変数を参照する際は、変数名の接頭辞に URL. を付けることを強く推奨します。
  • 変数の値を画面に表示する際は、HTMLEditFormat()関数やEncodeForHTML()関数を使用して値をエンコードする事を心がけて下さい。ダイレクトに値を表示した場合、ユーザーによって不正なXSS攻撃に利用される等のリスクが生じます。以前のForm変数を表示する際の説明もご参考下さい(http://forum.samuraiz.co.jp/samu04/04.html
  • URL変数の値を使ってデータベース処理を行われる場合は、<cfqueryparam>タグを使って想定されたデータタイプの値のみ処理するようにします。変数の値を不正に書き換えられてSQLインジェクション等のアタックによるリスクを軽減させるように心がけて下さい。以前のデータベース処理の説明もご参考下さい(http://forum.samuraiz.co.jp/samu05/07.html
  • 渡されてくる変数が適切かどうかをチェックするプログラムを追加する事を推奨します。例えば、変数の値が数値で渡される事が前提の場合、そのURL変数を利用する前に条件文とIsNumeric()関数を使用してチェックを行います。また、変数が存在しない場合を考慮して、IsDefined()関数によるチェックも含めます。
<cfif IsDefined("Url.empid") and IsNumeric(Url.empid)>
  OKの処理
<cfelse>
  NGの処理(エラーメッセージを表示したり、<cfabort>等で処理を中断する)
</cfif>
URLアドレスに値が含まれているということで、前のページでも説明がある通り、ユーザーによって値が書き換えられる恐れがある点に特に注意して、想定された値では無かった場合の対処をプログラムに含めて下さい。
ColdFusionの各種情報の配信


最新情報
■2022/12/14 〜
ColdFusion 基礎プログラミング
記事一覧(随時更新)

■2022/6/28
Adobe ColdFusion 2021
インストール セットアップ情報
CFサーバーのインストール

■2019/11/27
『ColdFusion 実験室』
実験7

■2019/11/27
Adobe ColdFusion 2018
インストール セットアップ情報
CFサーバーのインストール

■2017/6/26
『ColdFusion 実験室』
実験6

■2017/3/27
ColdFusion 2016 対応
インストール セットアップ情報
CFサーバーのインストール
CFビルダーのインストール

■2016/9/20
『ColdFusion 2016 リリース
Enterprise Edition 活用資料』
記事一覧

■2016/3/30
『ColdFusion 実験室』
実験4、実験5

■2015/8/10 〜
『ColdFusion クリニック』
記事一覧(随時更新中)

教材プログラム単体販売


ColdFusionユーザーグループ
ColdFusionユーザーグループ
Copyright 2012 Samuraiz Corporation. All Rights Reserved.