예제 #1
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     return 'success';
 }
 function execute($requests)
 {
     // 外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     if (!IS_PASSWORD_QUERY_ANSWER) {
         handle_kengen_error();
     }
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $password = $requests['password'];
     // ----------
     //--- 権限チェック
     // 必要なし
     //---
     // 現在のパスワードが正しいか
     if (!db_common_authenticate_password($u, $password, true)) {
         $p = array('msg' => 18);
         openpne_redirect('ktai', 'page_h_config_password_query', $p);
     }
     if (!$requests['c_password_query_id']) {
         $p = array('msg' => 22);
         openpne_redirect('ktai', 'page_h_config_password_query', $p);
     }
     if (!$requests['password_query_answer']) {
         $p = array('msg' => 23);
         openpne_redirect('ktai', 'page_h_config_password_query', $p);
     }
     db_member_update_password_query($u, $requests['c_password_query_id'], $requests['password_query_answer']);
     $p = array('msg' => 24);
     openpne_redirect('ktai', 'page_h_config', $p);
 }
예제 #3
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     // --- リクエスト変数
     $session = $requests['session'];
     $id = $requests['id'];
     // ----------
     // ハッシュ化されたIDを戻す
     $c_member_id = t_decrypt($id);
     // 権限チェック
     if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid')) {
         handle_kengen_error();
     }
     if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid_time')) {
         handle_kengen_error();
     }
     $c_member_config = db_member_c_member_config4c_member_id($c_member_id);
     // 権限チェック
     if ($c_member_config['password_reset_sid'] != $session) {
         handle_kengen_error();
     }
     // 有効期限は24時間
     $one_day_time = 86400;
     $limit_password_reset_sid_time = $c_member_config['password_reset_sid_time'] + $one_day_time;
     // 権限チェック
     if (time() > $limit_password_reset_sid_time) {
         $p = array('msg' => 55);
         openpne_redirect('ktai', 'page_o_login', $p);
     }
     $this->set('session', $session);
     $this->set('id', $id);
     return 'success';
 }
예제 #4
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     $this->set('password_query_list', p_common_c_password_query4null());
     return 'success';
 }
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(false);
     //---- inc_ テンプレート用 変数 ----//
     $this->set('inc_page_header', fetch_inc_page_header('public'));
     return 'success';
 }
예제 #6
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(false);
     // --- リクエスト変数
     $pc_address = $requests['pc_address'];
     $q_id = $requests['c_password_query_id'];
     $q_answer = $requests['c_password_query_answer'];
     // ----------
     if (OPENPNE_USE_CAPTCHA) {
         @session_start();
         if (empty($_SESSION['captcha_keystring']) || $_SESSION['captcha_keystring'] !== $requests['captcha']) {
             unset($_SESSION['captcha_keystring']);
             $p = array('msg' => "確認キーワードが誤っています");
             openpne_redirect('pc', 'page_o_password_query', $p);
         }
         unset($_SESSION['captcha_keystring']);
     }
     if (!$pc_address) {
         $p = array('msg' => 'メールアドレスを入力してください');
         openpne_redirect('pc', 'page_o_password_query', $p);
     }
     if (!db_common_is_mailaddress($pc_address)) {
         $p = array('msg' => 'メールアドレスの形式が正しくありません');
         openpne_redirect('pc', 'page_o_password_query', $p);
     }
     if (IS_PASSWORD_QUERY_ANSWER) {
         if (!$q_id) {
             $p = array('msg' => '秘密の質問を選択してください');
             openpne_redirect('pc', 'page_o_password_query', $p);
         }
         if (!$q_answer) {
             $p = array('msg' => '秘密の質問の答えを入力してください');
             openpne_redirect('pc', 'page_o_password_query', $p);
         }
     }
     //--- 権限チェック
     if (IS_PASSWORD_QUERY_ANSWER) {
         $c_member_id = db_member_is_password_query_complete($pc_address, $q_id, $q_answer);
         $msg = '正しい値を入力してください';
         if (!$c_member_id) {
             $p = array('msg' => $msg);
             openpne_redirect('pc', 'page_o_password_query', $p);
         }
     } else {
         $c_member_id = db_member_c_member_id4pc_address($pc_address);
         if (!$c_member_id) {
             openpne_redirect('pc', 'page_o_password_query_end');
         }
     }
     //---
     // パスワード再発行用のハッシュをDBに登録し再設定用のメールを送信
     $session = create_hash();
     db_member_update_c_member_config($c_member_id, 'password_reset_sid', $session);
     db_member_update_c_member_config($c_member_id, 'password_reset_sid_time', time());
     do_password_reset_query_mail_send($c_member_id, $pc_address, $session);
     openpne_redirect('pc', 'page_o_password_query_end');
 }
예제 #7
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(false);
     // --- リクエスト変数
     $session = $requests['session'];
     $id = $requests['id'];
     $new_password = $requests['new_password'];
     $new_password2 = $requests['new_password2'];
     // ----------
     // ハッシュ化されたIDを戻す
     $c_member_id = t_decrypt($id);
     // 権限チェック
     if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid')) {
         handle_kengen_error();
     }
     if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid_time')) {
         handle_kengen_error();
     }
     $c_member_config = db_member_c_member_config4c_member_id($c_member_id);
     // 権限チェック
     if ($c_member_config['password_reset_sid'] != $session) {
         handle_kengen_error();
     }
     // 有効期限は24時間
     $one_day_time = 86400;
     $limit_password_reset_sid_time = $c_member_config['password_reset_sid_time'] + $one_day_time;
     // 権限チェック
     if (time() > $limit_password_reset_sid_time) {
         $p = array('msg_code' => 'password_reset_timeout');
         openpne_redirect('pc', 'page_o_tologin', $p);
     }
     $msg_list = array();
     if (!$new_password) {
         $msg_list[] = "パスワードを入力してください";
     }
     if (!$new_password2) {
         $msg_list[] = "パスワード(確認)を入力してください";
     }
     if ($new_password !== $new_password2) {
         $msg_list[] = "パスワードが一致しません";
     }
     if (!ctype_alnum($new_password) || strlen($new_password) < 6 || strlen($new_password) > 12) {
         $msg_list[] = "パスワードは6~12文字の半角英数で入力してください";
     }
     // error
     if ($msg_list) {
         $p = array('msg' => array_shift($msg_list), 'session' => $session, 'id' => $id);
         openpne_redirect('pc', 'page_o_password_reset', $p);
         exit;
     }
     db_member_update_password($c_member_id, $new_password);
     db_member_delete_c_member_config($c_member_id, 'password_reset_sid_time');
     db_member_delete_c_member_config($c_member_id, 'password_reset_sid');
     $p = array('msg_code' => 'change_password');
     openpne_redirect('pc', 'page_o_tologin', $p);
 }
예제 #8
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(false);
     //---- inc_ テンプレート用 変数 ----//
     $this->set('inc_page_header', fetch_inc_page_header('public'));
     $this->set('c_password_query_list', p_common_c_password_query4null());
     return 'success';
 }
예제 #9
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // 写真使用量
     $image_limit_list = db_image_get_image_limit_list($u);
     $this->set('image_limit_list', $image_limit_list);
     return 'success';
 }
 function execute($requests)
 {
     // 外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     if (!IS_PASSWORD_QUERY_ANSWER) {
         handle_kengen_error();
     }
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     $this->set('password_query_list', p_common_c_password_query4null());
     return 'success';
 }
예제 #11
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     // --- リクエスト変数
     $ktai_address = $requests['ktai_address'];
     $q_id = $requests['c_password_query_id'];
     $q_answer = $requests['password_query_answer'];
     // ----------
     if (!$ktai_address) {
         $p = array('msg' => 25);
         openpne_redirect('ktai', 'page_o_password_query', $p);
     }
     if (!is_ktai_mail_address($ktai_address)) {
         $p = array('msg' => 31);
         openpne_redirect('ktai', 'page_o_password_query', $p);
     }
     if (IS_PASSWORD_QUERY_ANSWER) {
         if (!$q_id) {
             $p = array('msg' => 22);
             openpne_redirect('ktai', 'page_o_password_query', $p);
         }
         if (is_null($q_answer) || $q_answer === '') {
             $p = array('msg' => 23);
             openpne_redirect('ktai', 'page_o_password_query', $p);
         }
     }
     //--- 権限チェック
     if (IS_PASSWORD_QUERY_ANSWER) {
         $c_member_id = db_member_is_password_query_complete2($ktai_address, $q_id, $q_answer);
         if (!$c_member_id) {
             $p = array('msg' => 25);
             openpne_redirect('ktai', 'page_o_password_query', $p);
         }
     } else {
         $c_member_id = db_member_c_member_id4ktai_address($ktai_address);
         // メールアドレスが一致しない場合でも正常に完了した時と同じ画面にする
         if (!$c_member_id) {
             $p = array('msg' => 26);
             openpne_redirect('ktai', 'page_o_login', $p);
         }
     }
     //---
     // パスワード再発行
     $session = create_hash();
     db_member_update_c_member_config($c_member_id, 'password_reset_sid', $session);
     db_member_update_c_member_config($c_member_id, 'password_reset_sid_time', time());
     db_mail_send_m_ktai_password_reset_query($c_member_id, $session);
     $p = array('msg' => 26);
     openpne_redirect('ktai', 'page_o_login', $p);
 }
예제 #12
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     // --- リクエスト変数
     $session = $requests['session'];
     $id = $requests['id'];
     $new_password = $requests['new_password'];
     // ----------
     // ハッシュ化されたIDを戻す
     $c_member_id = t_decrypt($id);
     // 権限チェック
     if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid')) {
         handle_kengen_error();
     }
     if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid_time')) {
         handle_kengen_error();
     }
     $c_member_config = db_member_c_member_config4c_member_id($c_member_id);
     // 権限チェック
     if ($c_member_config['password_reset_sid'] != $session) {
         handle_kengen_error();
     }
     // 有効期限は24時間
     $one_day_time = 86400;
     $limit_password_reset_sid_time = $c_member_config['password_reset_sid_time'] + $one_day_time;
     // 権限チェック
     if (time() > $limit_password_reset_sid_time) {
         $p = array('msg' => 55);
         openpne_redirect('ktai', 'page_o_login', $p);
     }
     // 新しいパスワードは有効な文字列か
     if (!ctype_alnum($new_password) || strlen($new_password) < 6 || strlen($new_password) > 12) {
         $p = array('msg' => 20, 'session' => $session, 'id' => $id);
         openpne_redirect('ktai', 'page_o_password_reset', $p);
     }
     db_member_update_password($c_member_id, $new_password);
     db_member_delete_c_member_config($c_member_id, 'password_reset_sid_time');
     db_member_delete_c_member_config($c_member_id, 'password_reset_sid');
     $p = array('msg' => 21);
     openpne_redirect('ktai', 'page_o_login', $p);
 }
예제 #13
0
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(false);
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $old_password = $requests['old_password'];
     $new_password = $requests['new_password'];
     $new_password2 = $requests['new_password2'];
     // ----------
     $msg_list = array();
     if (!$new_password) {
         $msg_list[] = "パスワードを入力してください";
     }
     if (!$new_password2) {
         $msg_list[] = "パスワード(確認)を入力してください";
     }
     if ($new_password !== $new_password2) {
         $msg_list[] = "パスワードが一致しません";
     }
     if (!ctype_alnum($new_password) || strlen($new_password) < 6 || strlen($new_password) > 12) {
         $msg_list[] = "パスワードは6~12文字の半角英数で入力してください";
     }
     if (!$msg_list && !db_common_authenticate_password($u, $old_password)) {
         $msg_list[] = "現在のパスワードが違います";
     }
     // error
     if ($msg_list) {
         $_REQUEST['msg'] = array_shift($msg_list);
         openpne_forward('pc', 'page', "h_config");
         exit;
     }
     db_member_update_password($u, $new_password);
     $GLOBALS['AUTH']->logout();
     $p = array('msg_code' => 'change_password');
     openpne_redirect('pc', 'page_o_tologin', $p);
 }
 function execute($requests)
 {
     //外部認証の場合はリダイレクト
     check_action4pne_slave(true);
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $old_password = $requests['old_password'];
     $new_password = $requests['new_password'];
     // ----------
     // 現在のパスワードが正しいか
     if (!db_common_authenticate_password($u, $old_password, true)) {
         $p = array('msg' => 18);
         openpne_redirect('ktai', 'page_h_config_password', $p);
     }
     // 新しいパスワードは有効な文字列か
     if (!ctype_alnum($new_password) || strlen($new_password) < 6 || strlen($new_password) > 12) {
         $p = array('msg' => 20);
         openpne_redirect('ktai', 'page_h_config_password', $p);
     }
     db_member_update_password($u, $new_password);
     $p = array('msg' => 21);
     openpne_redirect('ktai', 'page_h_config', $p);
 }