サポート » プラグイン » Ktai Style 2.0.2 Cookie非対応機で動かないタグを出力している箇所がある

  • 場違いでしたら申し訳ありません。

    Ktai Style 2.0.2 を使わせて頂いておりますが、数あるタグ出力関数の中で「ks_admin_link()」を使用した所、Cookie非対応機でうまく動作しませんでした。(管理画面を選択してもログイン画面に遷移してしまいます。ログイン状態でも。)

    この機能はログイン状態の場合に管理画面へのリンクを出力するための関数と認識しております。しかしCookie非対応機の場合に付与されるSessionIDがこの関数では付与されていませんでした。

    そこで、ktai-style\inc\template-tags.php の ks_admin_link() を、同じソースの ks_get_logout_url() を参考に下記の通り修正してみた所、正しく動作しました。(管理画面に遷移しました。)

    function ks_admin_link() {
    	$defaults = array(
    		'before'    => '',
    		'after'     => '',
    		'echo'      => true,
    		'accesskey' => '',
    		'anchor'     => __('Site Admin'),
    	);
    	$r = _ks_parse_arg(func_get_args(), $defaults);
    	if ( isset($r['label']) ) {
    		$r['anchor'] = $r['label'];
    	}
    
    	$output = '';
    	if ( is_user_logged_in() && $url = ks_admin_url(KTAI_NOT_ECHO) ) {
    /*↓Add by y_kaba */
    		global $Ktai_Style;
    		if ( !$Ktai_Style->get('cookie_available') ) {
    			$url .= '?' . KtaiStyle_Admin::SESSION_NAME . '=' . KtaiStyle_Admin::get_sid();
    		}
    /*↑Add by y_kaba */
    		$output = $r['before'] . sprintf('<a href="%s"%s>%s</a>', $url, ks_accesskey_html($r['accesskey']), $r['anchor']) . $r['after'];
    		if ($r['echo']) {
    			echo $output;
    		}
    	}
    	return $output;
    }

    修正内容が適切かどうかは分かりませんが、ご報告までに投稿させて頂きます。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    この機能はログイン状態の場合に管理画面へのリンクを出力するための関数と認識しております。しかしCookie非対応機の場合に付与されるSessionIDがこの関数では付与されていませんでした。

    これは仕様です。Cookie 未対応機では、管理領域のみログイン可能としているためです。通常のウェブログ画面はログイン状態で閲覧できないことを前提にしていて、ks_admin_link() で管理パネルへのリンクが出るのは Cookie 対応機のみとという設計です。

    Cookie 未対応機では、管理パネルにあるリンクを辿っても通常のウェブログ画面に行かないはずですし、無理矢理移動した場合 (ブックマーク等から入った場合) も、URL はセッションIDが付かないはずですから、ログイン状態とはみなされずログアウト状態になるはずです。したがって、Cookie 未対応機でログインしたまま通常のウェブログ画面を見るということは、通常はあり得ません。

    Ktai Style 本体もしくはテーマを改造すれば可能かもしれませんが、セッションIDを含んだ状態でウェブログ画面を閲覧した場合、そこから外部サイトへのリンクを辿るとセッションハイジャックのおそれがあるので、あまり好ましくありません。 ドコモの Cookie 未対応機の場合は、現時点では Referer を送出しないので安全ですが、ケータイのファームウェア更新またはゲートウェイの仕様変更によって送出される可能性があるため、将来にわたって安全という保証はありません。

    よって、せっかくのパッチですが、採用することはできません。むしろ、「Cookie 未対応機でウェブログ閲覧できるのはおかしい」ので、その現象について調査することをおすすめします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「Ktai Style 2.0.2 Cookie非対応機で動かないタグを出力している箇所がある」には新たに返信することはできません。