このWikiについて/認証


Top / このWikiについて / 認証

認証

この Wiki ではスパム防止のために認証を導入しています。

さくらの OS アップデートに伴う変更

login.inc.php が動かなくなったっぽいので BASIC 認証に変更しました。

細かなメモ

サーバー OS のバージョンが上がり従来の認証が使えなくなった。

  1. 古いものを消す mv login.inc.php login.inc.php.not_used
    参考URL:CGIでのPukiWikiによる認証

htpasswd -c /home/monaos/dont_erase_htpasswd mona

  1. index.php をコピーして edit.php を作る
  2. .htaccess で edit.php にBasic認証を掛ける
    AuthType Basic
    AuthName      "Authentication required"
    AuthUserFile  /home/monaos/dont_erase_htpasswd mona
    AuthGroupFile /dev/null
    <Files edit.php>
    require          valid-user 
    </Files>
  3. edit.php 内に、define('EDIT_OK','yes'); を記述
    lib/init.php にパッチを当てる(1.4.7用)
    --- init.php.orig	2006-06-12 09:37:44.000000000 +0900
    +++ init.php	2006-08-16 14:01:00.000000000 +0900
    @@ -277,6 +277,11 @@
     	exit;
     }
     $arg = input_filter($arg); // \0 除去
    +if (!defined('EDIT_OK') && ereg('^cmd=edit&', $arg)) {
    +	pkwk_headers_sent();
    +	header('Location: ' . $script . 'edit.php?' . $arg);
    +	exit;
    +}
     
     // unset QUERY_STRINGs
     foreach (array('QUERY_STRING', 'argv', 'argc') as $key) {

pcomment

--- pcomment.inc.php.bakki.monao2006-09-24 17:50:11.000000000 +0900p.bak pcomment                             
+++ pcomment.inc.php    2009-04-17 22:33:40.000000000 +0900

@@ -124,7 +124,8 @@

               $s_nodate = htmlspecialchars($params['nodate']);
               $s_count  = htmlspecialchars($count);

-               $form_start = '<form action="' . get_script_uri() . '" method="post">' . "\n";
+//             $form_start = '<form action="' . get_script_uri() . '" method="post">' . "\n";
+                $form_start = '<form action="http://wiki.monaos.org/edit.php" method="post">' . "\n";

さくらへ引越し後の認証

この話題はもう古い。
さくらインターネットに wiki.monaos.org を引っ越したことにより、PHPからBASIC認証が使えなくなりました。
そのためスパムよけのために別の認証を導入しました。(自作プラグイン/login.inc.php - PukiWiki-official)

これは PHP のセッション機能を利用したもので

という形でログイン情報を保存します。
この機能はうまく動いているのかと思いきや、どうも頻繁にログインを促されている気がします。
そこで調べてみると

gc_maxlifetime が怪しいので、1440 => 5184000 と増やしましたが状況に変化はありません。
ひきつづき調査が必要です。

さらに調べるとさくらのデフォルトでは session.cookie_lifetime = 0 となっているのが問題であることが分かりました。
セッションID である PHPSESSID クッキーがブラウザ閉じると無効になる設定になっています。(他の値はもっと長い)
これを 0 => 5184000 としたところうまくいきました。

解決方法まとめ

/php.ini を作り

session.gc_maxlifetime=5184000
session.cookie_lifetime=5184000

とする。

php のパラメータを見る方法

以下のような、huga.php というファイルを作り、ブラウザからアクセスすればパラメータが見られます。

<?php
 phpinfo();
?>

現在のセッション周りのパラメータ

DirectiveLocal ValueMaster Value
session.auto_startOffOff
session.bug_compat_42OnOn
session.bug_compat_warnOnOn
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domainno valueno value
session.cookie_lifetime00
session.cookie_path//
session.cookie_secureOffOff
session.entropy_fileno valueno value
session.entropy_length00
session.gc_divisor100100
session.gc_maxlifetime51840005184000
session.gc_probability11
session.namePHPSESSIDPHPSESSID
session.referer_checkno valueno value
session.save_handlerfilesfiles
session.save_path/tmp/tmp
session.serialize_handlerphpphp
session.use_cookiesOnOn
session.use_only_cookiesOffOff
session.use_trans_sidOffOff

php のパラメータを変更する方法

ドキュメントルートに php.ini を作り変更したい値だけ key = value の形式で書く。

%cat ~/www/wiki.monaos.org/php.ini
session.gc_maxlifetime=5184000

コメント

コメントはありません。 コメント/このWikiについて/認証?

お名前:

MENU

now: 7

リンク


最新の20件
2010-09-02 2010-09-01 2010-08-29 2010-08-26 2010-08-25 2010-08-24 2010-08-23 2010-08-22 2010-08-17 2010-08-14 2010-08-13 2010-08-04 2010-07-29 2010-07-27 2010-07-26 2010-07-22
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 1187, today: 3, yesterday: 2

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2009-04-17 (金) 22:45:20 (503d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.13
HTML convert time to 0.074 sec.