2017-03-13 14 views
1

ログイン後にCSRFと結果を使用してログインを作成します私のコードに問題があるかどうか。codeigniterのcsrfとjquery cookieでエラーが発生しました

マイCSRF:

$config['csrf_protection'] = TRUE; 
 
$config['csrf_token_name'] = 'st21Ol02sec94'; 
 
$config['csrf_cookie_name'] = 'true6log_suc'; 
 
$config['csrf_expire'] = 7200; 
 
$config['csrf_regenerate'] = TRUE; 
 
$config['csrf_exclude_uris'] = array();

私の見解:

<?php echo form_open('',array('id' => 'form-loginx'));?> 
     <div class="input-group" style="margin-bottom:10px;"> 
      <span class="input-group-addon lab"><span class="glyphicon glyphicon-user"></span></span> 
      <input type="text" name="username" id="username" class="form-control inp usernamex" placeholder="username" required> 

     </div> 
     <div class="input-group" style="margin-bottom:10px;"> 
      <span class="input-group-addon lab"><span class="glyphicon glyphicon-lock"></span></span> 
      <input type="password" name="password" id="password" class="form-control inp passwordx" placeholder="password" required> 
     </div> 
     <button type="submit" name="submit" class="log_btn btn btn-md btn-primary">Login</button> 
     <label><input type="checkbox" class="lihat"> lihat password</label> 
     <?php echo form_close();?> 
     <?php echo br();?> 
    <div class="text-center">Copyright &copy; 2017 PT. Stars Internasional.</div> 
    <div class="text-center">server time <strong>{elapsed_time}</strong> secs.</div> 
     <?php echo br();?> 
    <div style="display:none;" class="alert-gagal"></div> 
    <div style="display:none;" class="alert-sukses"></div> 

私のjavascript:

$('#form-loginx').submit(function(e){ // Create `click` event function for login 
     e.preventDefault(); 
     var csrf_hash = $.cookie('true6log_suc'); 
     var me = $(this).serialize(); 
     $.ajax({ // Send the credential values to another checker.php using Ajax in POST menthod 
      type : "POST", 
      url : baseURL + "trueaccon2194/info_type_user_log/log_admin", 
      data : {me,st21Ol02sec94: csrf_hash}, 
     beforeSend: function(){ 
      $('.log_btn').html('Loading ...'); //Loading button text 
      $('.log_btn').prop('disabled', true); 
     }, 
     success: function(log){ // Get the result and asign to each cases 
      $('.log_btn').html('Login'); //Loading button text 
      $('.log_btn').prop('disabled', false); 
      if(log == "openupsystemlogtrueaccess21"){ 
       $(".alert-sukses").html("Sedang mengarahkan..").slideToggle("fast").delay(3000).slideToggle("fast"); 
       window.location.href = 'trueaccon2194/info_type_user_log'; 
      }else if(log == "blockingaccesssystemlogerror210294"){ 
       $(".alert-gagal").html("Username atau password salah!").slideToggle("fast").delay(3000).slideToggle("fast"); 
       //location.reload(); 
      } 
      } 
      }); 
     return false; 
}); 

私はJを使用します質問クッキーと私のコードに何か問題があるかどうか

+0

ジャストアイデアは私がCSRF、通常のローカルホストのURL – user4419336

+0

私はlocalhostを使用して仮想ホストを使用するために最善を見つける –

+0

だから私は、あなたがXAMPP https://www.youtube.com/watch?v=にそれをシンプルに設定することができますkD-tLlKS2ZI – user4419336

答えて

0

問題はajax呼び出しのデータです。データの "csrf_hash"は正確な値を与えません。

これはあなたを助けるかもしれJS

$('#form-loginx').submit(function(e){ // Create `click` event function for login 
e.preventDefault(); 
var csrf_hash = $.cookie('true6log_suc'); 
var dataObject = {}; 
dataObject[st21Ol02sec94] = csrf_hash; 
dataObject[me] = $(this).serialize(); 
$.ajax({ // Send the credential values to another checker.php using Ajax in POST menthod 
type : "POST", 
url : baseURL + "trueaccon2194/info_type_user_log/log_admin", 
data: dataObject, 
beforeSend: function(){ 
$('.log_btn').html('Loading ...'); //Loading button text 
$('.log_btn').prop('disabled', true); 
}, 
success: function(log){ // Get the result and asign to each cases 
$('.log_btn').html('Login'); //Loading button text 
$('.log_btn').prop('disabled', false); 
if(log == "openupsystemlogtrueaccess21"){ 
$(".alert-sukses").html("Sedang mengarahkan..").slideToggle("fast").delay(3000).slideToggle("fast"); 
window.location.href = 'trueaccon2194/info_type_user_log'; 
}else if(log == "blockingaccesssystemlogerror210294"){ 
$(".alert-gagal").html("Username atau password salah!").slideToggle("fast").delay(3000).slideToggle("fast"); 
//location.reload(); 
} 
} 
}); 
return false; 
}); 

$config['csrf_protection'] = TRUE; 
$config['csrf_token_name'] = 'st21Ol02sec94'; 
$config['csrf_cookie_name'] = 'true6log_suc'; 
$config['csrf_expire'] = 7200; 

でCSRFを交換してください。

関連する問題