PEAK XOOPS - auto-login hacked files for XOOPS 2.0.14JP in englishin japanese






Main : XOOPS Hacks : 

Category: XOOPS Hacks           php5
Download Now! Download Now! auto-login hacked files for XOOPS 2.0.14JP Popular Version: 2.0.14JP
Submitted Date:  2006/5/1
Description:
in englishin japanese

●XOOPS 2.0.14JP用のオートログインハック(+α)済みコアファイルパック (V3)

--------------------------------------------------

XOOPS 2.0.14JP
に自動ログイン機能を付与するためのパッチです。
このアーカイブ内に含まれる全ファイルを、お使いのXOOPS 2.0.14JP
に上書きすることで、自動ログイン機能が有効になります。

さらに、上書き後のシステムモジュールアップデートで、「IDとパスワードを記憶」というチェックボックスが表示されます。なお、カスタムテンプレートセットを利用している場合は、テンプレートマネージャに入り、ご利用のテンプレートセット内のシステム管理のsystem_userform.htmlおよびsystem_block_login.htmlを削除する、または手作業でチェックボックスを追加する必要があります。

実際には、テンプレート管理をちゃんと行う意識は重要で、モジュールアップデートよりも、tplsadminを利用して、どのようなテンプレートの差分があるかを理解しながら、テンプレートを更新するのがベストです。

V3 では、クッキーへの保存形式を若干変えることで、安全性が多少マシになりました。
期限付きでmd5エンコードされたパスワードしかクッキーに保存しませんので、誰かがクッキーを盗んだとしても、その期限以降であればログインに成功しません。
つまり、オートログイン有効期限が重要なわけで、デフォルトの1週間を1ヶ月や1年に延長すると、それだけ危険性が増すことに留意ください。

オートログインV2で、リトライ機能がつきました。従来のオートログインHackでは、CSRF対策のために、いきなりコンテンツにアクセスするとトップに飛ばされることが多くありましたが、今はいったんsession_confirm.phpにリダイレクトしてから、元の場所に戻ります。

このsession_confirm.phpがV2で増えたファイルです。忘れずにアップロードしてください。

また、何か投稿した時にセッションが時間切れで、投稿内容をロストした、という経験をお持ちの方も少なくないと思いますが、このオートログインV2を有効にしているユーザであれば、再度自動ログインして、直後に再投稿の機会が与えられます。(V2の目玉機能)


このHackは、unameとmd5ハッシュ済のパスワードをクッキーに保存するのですが、その有効時間は、デフォルトで1週間(604800)となっています。

もし、この値を変更したい場合は、mainfile.php
に対して下のように1行追加して下さい。

define('XOOPS_AUTOLOGIN_LIFETIME',2678400);

この行は少なくとも、include XOOPS_ROOT_PATH."/include/common.php";
と書かれた行より上にある必要があります。

また、言語ファイル (langage/japanese/global.php)
に手を入れている方は、このファイルを上書きするのではなく、ご自身で書き換えてください。


define('_USERNAME','ユーザID または e-mail: '); // 書き換え



define('_REMEMBERME','IDとパスワードを記憶'); // 追加
define('_RETRYPOST','時間切れでした。再投稿しますか?'); // 追加



これは重要な注意点ですが、クッキーにログイン情報が残っているということは、当然、誰かに盗まれる可能性があります。共用コンピュータなどをご利用の際には、必ずログアウトしてから終了するようにアナウンスする必要があるでしょう。


従前の自動ログインHackでは、自動ログインの有効期限として、session_expireの値を流用していましたが、こうしてしまうと、カスタムセッション機能が事実上使えなくなってしまうため、XOOPS_AUTOLOGIN_LIFETIME
という定数で指定する方式に改めています。


それと、このアーカイブを上書きすると、emailアドレスでもログインできるHackも自動的に有効になります。
これだけ書くと、RyujiさんのemailLoginHackと同じじゃないか、と思われそうですが、あそこまできちんと作っていません。ユーザー名として送られてきた文字列に、@
が含まれていれば、email
によるログインだと推定してログインを試す、というだけのHackです。

逆に言えば、その分、Hack箇所も少なくて済んでいます。基本的には、include/checklogin.php
だけの変更ですので、コアバージョンへの追随も少しは楽になるかもしれません。

最近のショッピングサイトでは、会員番号でもメールアドレスでも受け付ける、というものが増えてきているので、それなりに受入れやすいHackではないでしょうか。


また、include/common.php
などは、他のHackとバッティングしやすいので、上書きされると困るケースもあるでしょう。その場合は、このアーカイブの各ファイルについて、'GIJ'という文字列で検索すれば、Hack箇所がどこか、すぐに判るはずです。


by GIJOE http://www.peak.ne.jp/xoops/

Downloaded 15229 times  15229  File Size 16.24 KB  Supported Platforms tar.gz|zip|php5  Home Page http://www.peak.ne.jp/xoops/
Modify | Report Broken File | Tell a Friend | Comments (1)


Comments list

GIJOE  Posted on 2006/5/16 16:10
global.php に書いたのに反映されないとすれば、ブロックキャッシュが効いている、とか、定数名にtypoがある、なんて理由ですかね。あとは、japaneseだと思っていたら、englishだったとか。

ともあれ、言語ファイルといえど、global.php の書き換えはコアHackになるので、それなりにメンテが大変です。

書き換えるのは極力テンプレートにおさめた方が良いでしょう。
kuwa  Posted on 2006/5/15 14:07
language/japanese/global.php
には足してはいるのですが、あまり気にせずテンプレートに書くことにします。ありがとうございます。
tplsadminを知らないので研究してみます。

Quote:
この行を足すなら、language/japanese/global.php ですね。

ただ、私自身は、テンプレートに書く方をお勧めします。
昔と違い、今はtplsadminがありますから。
言語ファイルの書き換えよりも、テンプレートでのカスタマイズの方がはるかに使い勝手が優れています。
GIJOE  Posted on 2006/5/15 4:37
Quote:
さらのxoopsに指示通り上書きして、checkboxは表示されて自動ログインも機能しているのですが、下記の文字を読込めずにいます。
define('_REMEMBERME','IDとパスワードを記憶');
この行を足すなら、language/japanese/global.php ですね。

ただ、私自身は、テンプレートに書く方をお勧めします。
昔と違い、今はtplsadminがありますから。
言語ファイルの書き換えよりも、テンプレートでのカスタマイズの方がはるかに使い勝手が優れています。
kuwa  Posted on 2006/5/14 16:10
さらのxoopsに指示通り上書きして、checkboxは表示されて自動ログインも機能しているのですが、下記の文字を読込めずにいます。
define('_REMEMBERME','IDとパスワードを記憶');

テンプレートにそのまま文字を書いて解決でもよいのですが、できればそのファイルを読込みたいなと考えています。

最近xoopsを研究し始めた初心者なので、まったくの見当違いだったらごめんなさい。
Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!