*skinファイルが実行できてしまう [#ee18b71c]

-ページ: BugTrack
-投稿者: [[reimy]]
-優先順位: 緊急
-状態: 完了
-カテゴリー: 本体バグ
-投稿日: 2003-04-24 (木) 19:24:59
-バージョン: 

**メッセージ [#o8758b2c]
http://pukiwiki.sourceforge.jp/dev/skin/pukiwiki.skin.ja.php
http://pukiwiki.sourceforge.jp/dev/skin/pukiwiki.skin.ja.php

途中でエラーにはなるけど。

[[official:雑談/4#skin]]参照。
----
-コメントにある通り、register_globalsの設定によっては、XSSの問題になりえますね([[例:http://pukiwiki.sourceforge.jp/dev/skin/pukiwiki.skin.ja.php?page=<s>test</s>]])。とりあえず「緊急」にしておきます。 -- [[masao]] &new{2003-04-24 (木) 21:42:27};
-とりあえず修正案その一。
 if(basename($_SERVER['REQUEST_URI']) == basename(__FILE__))
 	exit;
これをskinの先頭に書いておく、こんな感じでどうでしょうか? -- [[ishii]] &new{2003-04-24 (木) 21:58:35};
-うまくいくようですね。ということで、各スキンの先頭に次の1行を。 -- [[reimy]] &new{2003-04-25 (金) 01:03:43};
 <?php if(basename($_SERVER['REQUEST_URI']) == basename(__FILE__)) exit; ?>
--1.3.4 ではどう書くのが正解でしょう? -- [[MorphyWiki]] &new{2003-04-25 (金) 03:44:52};~
//  これは大失敗でした。 (^^;; <?php if(basename($_SERVER['REQUEST_URI']) = basename(__FILE__)) exit; ?>
-REQUEST_URI だと最初の例が動いちゃいますよ。SCRIPT_NAME を使った方が良いでしょう。 -- [[masao]] &new{2003-04-25 (金) 04:30:05};
--ふむふむ。早速、書き換えた。うちの場合、httpのときとhttpsのときでSCRIPT_NAMEが異なるのでちょっと工夫が必要だったけど。配布するスキンではどう書いとけばいいかなあ… -- [[reimy]] &new{2003-04-25 (金) 05:33:10};
-サーバ変数や環境変数は(文字通り)環境によって違ってくる可能性があるので…。確実なのは
 if (!defined('DATA_DIR')) { exit; }
だと思います。pukiwiki.php(→pukiwiki.ini.php)を経由しないとDATA_DIRは定義されません。(たぶん) -- [[ぱんだ]] &new{2003-04-25 (金) 09:59:38};
 <?php if (!defined('DATA_DIR')) { exit; } ?>
--1.3.4 でも有効なことを確認しました。 -- [[MorphyWiki]] &new{2003-04-25 (金) 10:33:47};
-cvsに投入しました。 -- [[ぱんだ]] &new{2003-04-25 (金) 11:33:44};
--[[cvs:skin/pukiwiki.skin.ja.php]](v1.4:r1.20)(v1.3.4:r1.15.2.2)
--[[cvs:skin/pukiwiki.skin.en.php]](v1.4:r1.19)(v1.3.4:r1.14.2.2)
-お手数ですが、1.4系の skin/keitai.skin.ja.php の修正もお願いします。 -- [[masao]] &new{2003-04-25 (金) 15:57:48};
--忘れてました。 [[cvs:skin/keitai.skin.ja.php]](v1.4:r1.3) -- [[ぱんだ]] &new{2003-04-25 (金) 16:46:32};

#comment
//#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.048 sec.

OSDN