• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
امنیت دریافت فرم
#1
سلام دوستان

من بعد از دریافت اطلاعات از فرم، مقدار submit و token رو چک میکنم که معتبر باشه و برای جلوگیری از ارسال اطلاعات از آدرسی غیر از سایت کنونی، مقادیر host و path از آدرس دریافت شده رو با مقدار معتبر (VALID_HP) مقایسه میکنم.

این شرط روی آدرس دریافتی میتونه جلو این حمله رو بگیره با نه؟ و اگه نه راهش چیه؟


کد پی‌اچ‌پی:
define('VALID_HP''mydomain/myfolder/index.php');

$pre_url=parse_url($_SERVER['HTTP_REFERER']);
$HP_pre_url=$pre_url['host'].$pre_url['path'];

if (!(isset(
$_SESSION['token']) && isset($_POST['token']) && $_POST['token'] == $_SESSION['token'])
    || !
in_array($_POST['submit'],$valid_submits)
    || 
$HP_pre_url!=VALID_HP){ {

    
// ERROR ==> OUT




باتشکر
کار من این است که کاریم نیست,عاشقم از عشق تو عاریم نیست
تا که مرا شیر غمت صید کرد,جز که همین شیر شکاریم نیست
باده ات از کوه سکونت بَرَد,عیب مکن زان که وقاریم نیست
مولانا جلال الدین محمد
  پاسخ
تشکر شده توسط :
#2
دوستان انگار کسی نیست Sad
کار من این است که کاریم نیست,عاشقم از عشق تو عاریم نیست
تا که مرا شیر غمت صید کرد,جز که همین شیر شکاریم نیست
باده ات از کوه سکونت بَرَد,عیب مکن زان که وقاریم نیست
مولانا جلال الدین محمد
  پاسخ
تشکر شده توسط :
#3
به این نوع حملات CSRF میگم.
بهتره از این روش استفاده کنی
https://www.owasp.org/index.php/PHP_CSRF_Guard
  پاسخ
تشکر شده توسط : molana_rumy
#4
ممنون

میشه یه توضیح مختصری در مورد کدهای لینک بالا بدین که چطور باید استفاده بشه.

من سوالم بیشتر روی شرط $HP_pre_url!=VALID_HP بود که کارآمد هست یا نه.

این لینکی که دادین جای کدوم یکی از شرط ها رو پر میکنه؟

تشکر
کار من این است که کاریم نیست,عاشقم از عشق تو عاریم نیست
تا که مرا شیر غمت صید کرد,جز که همین شیر شکاریم نیست
باده ات از کوه سکونت بَرَد,عیب مکن زان که وقاریم نیست
مولانا جلال الدین محمد
  پاسخ
تشکر شده توسط :
#5
روتد کلی رو میگم
یه رشته رندوم تولید می کنی توی سشن میزاری و توی یه فیلد hidden توی فرمت قرار میدی.
بعد که فرم رو submit می کنی مقدار csrf باید موجود باشه و با رشته داهل سشن برابر باشه.
  پاسخ
تشکر شده توسط : molana_rumy


پرش به انجمن:


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