ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/stable-2.14.x/webapp/modules/ktai/do/o_update_password.php @ 12079

Last change on this file since 12079 was 12079, checked in by nagasawa, 11 years ago

#4033:r12049,r12073,r12074,r12075,r12076の変更をマージ(2.14.x)

File size: 2.2 KB
Line 
1<?php
2/**
3 * @copyright 2005-2008 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class ktai_do_o_update_password extends OpenPNE_Action
8{
9    function isSecure()
10    {
11        return false;
12    }
13
14    function execute($requests)
15    {
16        //外部認証の場合はリダイレクト
17        check_action4pne_slave(true);
18
19        // --- リクエスト変数
20        $session = $requests['session'];
21        $id = $requests['id'];
22        $new_password = $requests['new_password'];
23        // ----------
24
25        // ハッシュ化されたIDを戻す
26        $c_member_id = t_decrypt($id);
27
28        // 権限チェック
29        if (!db_member_c_member_config4name($c_member_id, 'update_password_sid'))
30        {
31            handle_kengen_error();
32        }
33        if (!db_member_c_member_config4name($c_member_id, 'password_sid_query_time'))
34        {
35            handle_kengen_error();
36        }
37
38        $c_member_config = db_member_c_member_config4c_member_id($c_member_id);
39
40        // 権限チェック
41        if ($c_member_config['update_password_sid'] != $session) {
42            handle_kengen_error();
43        }
44
45        // 有効期限は24時間
46        $one_day_time = 86400;
47        $limit_password_sid_query_time
48            = $c_member_config['password_sid_query_time'] + $one_day_time;
49
50        // 権限チェック
51        if (time() > $limit_password_sid_query_time) {
52            $p = array('msg' => 55);
53            openpne_redirect('ktai', 'page_o_login', $p);
54        }
55
56        // 新しいパスワードは有効な文字列か
57        if (   !ctype_alnum($new_password)
58            || (strlen($new_password) < 6)
59            || (strlen($new_password) > 12)) {
60            $p = array('msg' => 20, 'session' => $session, 'id' => $id);
61            openpne_redirect('ktai', 'page_o_update_password', $p);
62        }
63
64        db_member_update_password($c_member_id, $new_password);
65        db_member_delete_c_member_config($c_member_id, 'password_sid_query_time');
66        db_member_delete_c_member_config($c_member_id, 'update_password_sid');
67
68        $p = array('msg' => 21);
69        openpne_redirect('ktai', 'page_o_login', $p);
70    }
71}
72
73?>
Note: See TracBrowser for help on using the repository browser.