رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
امنیت در ajax
#1
سلام و خسته نباشید به دوستان عزیز
سوالاتی در مورد امنیت jaax داشتم.
خودمون میدونیم که هرچیزی که سمت کاربر باشه امنیت پایینی داره:
حالا ajax هم از کد های javascript هستش و سمت کاربر محسوب میشه.
در این صورت چ طوری میتونیم امنیت رو تامین کنم.
منظورم اینه که یکی بیاد کدهای جاوااسکریپت رو دستکاری کنه و پشت سر هم به سرور درخواست بفرسته و باعث اختلال بشه.
در این مورد پیشنهاد و یا راه حلی دارید.
خیلی ممنون
پاسخ
تشکر شده توسط:
#2
درمورد CSRF protection در درخواستهای AJAX تحقیق کنید.
پاسخ
تشکر شده توسط:
#3

//See: https://gist.github.com/ziadoz/3454607
//See: http://blog.ircmaxell.com/2013/02/preven...tacks.html


<?php

// Start a session (which should use cookies over HTTP only).
session_start();

// Create a new CSRF token.
if (! isset($_SESSION['csrf_token'])) {
   $_SESSION['csrf_token'] = base64_encode(openssl_random_pseudo_bytes(32));
}

// Check a POST is valid.
if (isset($_POST['csrf_token']) && $_POST['csrf_token'] === $_SESSION['csrf_token']) {
   // POST data is valid.
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="utf-8" /> 
   <title>PHP CSRF Protection</title>

   <script>
   window.csrf = { csrf_token: '<?php echo $_SESSION['csrf_token']; ?>' };

   $.ajaxSetup({
       data: window.csrf
   });

   $(document).ready(function() {
       // CSRF token is now automatically merged in AJAX request data.
       $.post('/awesome/ajax/url', { foo: 'bar' }, function(data) {
           console.log(data);
       });
   });
   </script>
</head>
<body>
   <form action="index.php" method="post" accept-charset="utf-8">
       <input type="text" name="foo" />
       <input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>" />
       <input type="submit" value="Submit" />
   </form>
</body>
</html>


یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط: olampiad
#4
اطلاعات شما که سمت کلاینت پرذازش نمیشن و سمت سرور اینکار انجام میشه و همون کارایی که قبلا می کردین یعنی جلوگیری از حملات SQL Injection, CSRF, XSS و ... رو باید ایننجا هم انجام بدین. فقط تو روش ajax باید حواستون باشه اجازه دسترسی مستقیم فایل php رو به کاربر ندهید و فقط از طریق اتفاق افتادن اون event خاص انجام بشه
موفقیت، نتیجه تشخیص درست است؛ تشخیص درست، نتیجه تجربه است؛ تجربه نیز اغلب نتیجه تشخیص نادرست است.



پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 2 مهمان