Home arrow Extensions arrow Joomla! CMS

6月
12
2008

Joomla!の正しいURIってわかりますか? : Extensions

diggに追加!

Joomla!のエクステンションで$_SERVER['REQUEST_URI']をそのまま使っているエクステンションを見かけたので問い合わせから連絡しておいた。私も恥ずかしいこといっぱいしているのでお構いなしです。Thinking

なぜ、そのまま使ってはいけないのかは「REQUEST_URI クロスサイトスクリプティング」ででも検索したら出てくるので書きませんが、mod_QRcodeを作成時に自動でURLを作成できるようにしようと思ったのですが、断念した覚えがあります。Joomla!1.5では使えそうなメソッドが用意されていますが、1.0.xでは自分が開いているサイトのURIを知ることは非常に難しいです。(もちろん、スクリプト付きでも良いなら別ですよ。)Joomla!標準のエクステンションだけならやりようもあるでしょうが、サードパーティーのエクステンションをもカバーしようと思うとはっきり言って至難の業です。$_SERVER['REQUEST_URI']ってユーザーがリクエストしたそのままが得られるだけなのでスクリプトがくっついていようが、SQLインジェクションをねらったクエリが付いていようがおかまいなしです。

簡単な例:Joomla!1.5で例えば下記のようなURLが正しいURLとすると

http://demo.joomler.net/the-news/1-latest-news/86-example-go.html

以下だとどうでしょう・・・

http://demo.joomler.net/the-news/1-latest-news/9999999999999999999/86-example-go.html

のように異なるURLでも同じページにアクセスできてしまいます。この場合はクエリの間に数字を入れただけですが、このように正しいURLでは無くても該当ページにアクセスできます。

なので、そのREQUEST_URIを使ってブックマークなんてとんでもないですよね。

サニタイズしてクリーニングすればと思うかもしれない。でもそれが本当に、そのサイトの管理者が意図するJoomla!の正しいURIってわかりますか?(もちろん使っているエクステンションが限定されていればそれ相応にサニタイズできると思います。)

Joomla!1.5で用意されているメソッドを使っても上記の例のような場合はそのまま出力されてしまいます。

結果、mod_QRcodeでは、モジュールのコピーを可能にして個々にURLの指定をするようにしましたので外部のリクエストに左右されません。

私も気をつけようっと・・・。Party

 

Related Articles

mootoolsにしようかと:今更
Javascriptのライブラリは、たくさんあってどれかをメインに使っていってどうしても必要なときだけ他のライブラリを使うようにしたいと以前から思っていました。jQueryを知ったときは、なんだこり...
かっこよくエラーを吐こう : Joomla! 1.5
Joomla!1.5でエラーページをどうにかしたいと検索していたら、forum.joomla.orgに投稿を見かけたので・・・。 以下のように説明されていました。phpファイルをincludeと説明...
Joomla!1.5RC4の記事の日時
RC4の記事の日時の管理がどうもおかしい。 RC3と比較してみた。 ROOT/libraries/joomla/utilities/date.php 162行目と、188行目が変更になっている。 gm...
htaccessのサンプル
Joomlaのadministratorフォルダとxmlrpcフォルダに.htaccessでアクセス制限をかけましょう。 以下は、サンプル。※指定したIPアドレスなら認証をスルーします。ご注意を。 ...
プラグインだけを使った投稿可能なエクステンションを考えてみた
メールで相談があったので考えてみた。 (たまにそういった相談があったりする。もちろんはじめての方ばかりです。) Joomla!のエクステンションでできることをまず整理してみた。 コン...
HTMLをこれで管理することにしよう :
新しいエクステンションのドキュメントを編集するときいつも以前に書いたものをコピーして作成していたりするのですが、これが結構不便なもので以前のドキュメントを見るためにブラウザで該当ページを開くか、同じ管...
Joomla!fr and Joomla!TR : JBackup Plugin
Joomla!France, Joomla!Turkeyでも掲載していただいたようです。Joomla!フランスでは、フランス語訳が付いています。(その代わり日本語訳が無くなっていましたが・・・) ...
xmlrpc serverコンポーネントをフォーラムで公開
まだ、変更があると思うのでdocmanではなく、ログイン後フォーラムのXML-RPC板を見てください。 (寒そうなフォーラムを暖めてやってください。)使っていただいた方は、不具合や希望などをフォーラ...
Joomla! サイトのローカルコピーを作成
サイトを運営していると新しいエクステンションをテストしたり、表示を確かめることってありますよね。Joomla!の場合オンライン上で記事を書き、また編集できちゃうので以前のローカルでテストしてというこ...
作成します。JTagReplacer : Joomla! Component
ちょっと前から・・・かなり前と言われそうだが・・・新しいテンプレートを作成していますが、その中でmosimageって{mosimage}のタグを登録した画像順に表示してくれますよね。そのタグを自分で...
Joomla!1.5.4になって増えたtrigger : Joomla!1.5 Plugin
ランダムイメージ・プラスモジュールを提供していただきました : Joomla!1.5
サーバーを移転してみました : Joomler!.net
Autodetect of Blogtype : MovableType XML-RPC
はじめてJoomla!1.5のFCKエディタとJCEエディタを使ってみた : Joomla!1.5
Joomla!1.5.6がリリースされています:Joomla!.1.5
Joomla! 1.5.3が公開されています
コンポーネント作成で参考になる:Joomla! 1.5
エクステンションの進捗? : Joomla!
JoomlaXplorerのバージョンを1.6.2にした

C_square_trans.png Components
Joomla! Extensions
M_square_trans.png Modules
Joomla! Extensions
P_square_trans.png Plugins
Joomla! Extensions
Templates
Joomla! Extensions
a_delphi.gif Delphi for PHP
Delphi for PHP related

for Mobile