نمایش نتایج 1 تا 12 از 12

نام تاپیک: امنیت در php

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    شهریار
    پست
    73

    امنیت در php

    سلام به همه دوستان عزیز.
    من می خوام یه سایت بنویسم که برای بعضی از فایلهایی که آپلود کردم، اجازه دسترسی قرار بدم . یعنی فقط افراد خاصی با نام کاربری و رمز عبور بتونن اون فایلها رو دانلود کنن.

    ممنون میشم کمکم کنید.

  2. #2

    نقل قول: امنیت در php

    این یک روشه که بجای لینک مستقیم به فایلها از لینک غیرمستقیم استفاده کنید مثل این:
    http://site-domain/downlaod.php?file=abc.zip


    و توی فایل downlaod.php، اول چک کنید که کاربر اجازه دسترسی به فایل رو داره یا نه. بعد دایرکتوری ها رو به اسم فایل اضافه کنید (یعنی آدرس فایل رو اینجوری کنید: dir1/dir2/dir3/files/abc.zip) و در مرحله آخر کد زیر رو اجرا کنید:
    $file = 'files/' . $_GET['file'];

    if (file_exists($file))
    {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
    }
    else
    {
    echo "File Not Found!";
    }

    با این روش می تونید تو این لالوها یه کانتر هم برای شمارش تعداد داونلود برای فایل یا حتی برای هر کاربر درست کنید.

  3. #3
    کاربر دائمی آواتار Yousha
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران - تهران
    پست
    515

    نقل قول: امنیت در php

    سلام،
    این یک روشه که بجای لینک مستقیم به فایلها از لینک غیرمستقیم استفاده کنید مثل این:
    کد:
    http://site-domain/downlaod.php?file=abc.zip
    اگر اینطور وارد شد چی؟
    http://site-domain/downlaod.php?file.../etc/passwd%00
    یا
    http://site-domain/downlaod.php?file=config.php
    یا
    http://site-domain/downlaod.php?file=../../../boot.ini
    یا
    ...؟؟

    امیـرحسین عزیز، این روش اشتباه و خطرناک هستش.
    ایشون می تونن با یک HTAccess ساده و ایمن اینکاو انجام بدن.

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    شهریار
    پست
    73

    نقل قول: امنیت در php

    نقل قول نوشته شده توسط Yousha مشاهده تاپیک
    سلام،

    اگر اینطور وارد شد چی؟
    http://site-domain/downlaod.php?file.../etc/passwd%00
    یا
    http://site-domain/downlaod.php?file=config.php
    یا
    http://site-domain/downlaod.php?file=../../../boot.ini
    یا
    ...؟؟

    امیـرحسین عزیز، این روش اشتباه و خطرناک هستش.
    ایشون می تونن با یک HTAccess ساده و ایمن اینکاو انجام بدن.
    دوست عزیر میشه بگی توی htaccess چطوری میشه این روش رو گنجوند؟
    جواب این سوال رو که بدید ممنون میشم.
    ولی فکر کنم من سوال اولم رو درست مطرح نکرده باشم. من می خوام حتی اگر کسی آدرس فایل رو هم داشت، نتونه دانلود کنه. یعنی خود فایل امنیت داشته باشه.
    ممنون میشم کمکم کنید.

  5. #5

    نقل قول: امنیت در php

    نقل قول نوشته شده توسط Yousha مشاهده تاپیک
    سلام،

    اگر اینطور وارد شد چی؟
    http://site-domain/downlaod.php?file.../etc/passwd%00
    یا
    http://site-domain/downlaod.php?file=config.php
    یا
    http://site-domain/downlaod.php?file=../../../boot.ini
    یا
    ...؟؟

    امیـرحسین عزیز، این روش اشتباه و خطرناک هستش.
    ایشون می تونن با یک HTAccess ساده و ایمن اینکاو انجام بدن.
    حق با شماست ولی این کارها به برنامه نویس مربوط میشه. من روش رو گفتم در ضمن وقتی دایرکتوری توی اسکریپت تعیین شه فکر می کنم مشکلش با داونلود فایل از جاهای دیگه حل شه.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران، رشت
    پست
    711

    نقل قول: امنیت در php

    در روش‌های ذکر شده توسط دوستان، شما به جای لینک مستقیم به فایل، به یک صفحه‌ی php وارد می‌شوید که محتوای آن، فایل مورد نظر شماست.
    حال شما می‌توانید قبل از این که فایل را داخل صفحه کنید، به هر روشی که مایل بودید، کاربر را بررسی کنید تا در صورت مجاز بودن، بتواند دانلود کند.

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    شهریار
    پست
    73

    نقل قول: امنیت در php

    ممنون از اطلاعات دوستان.
    من یه قسمت مشکلم حل شد. با htaccess و htpasswd. یعنی الآن فقط با نام کاربری و رمز عبوری که گذاشتم میشه فایل رو دریافت کرد. این مربوط میشه به هاست.
    حالا قسمت دوم مشکل من. الآن برای دریافت فایل، با مرورگر یا با برنامه های دانلود رمز می خواد. حالا چطور می تونم داخل یه برنامه، نام کاربری و رمز عبور رو به هاست بفهمونم که به من اجازه دسترسی بده.

  8. #8
    کاربر دائمی آواتار Yousha
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران - تهران
    پست
    515

    نقل قول: امنیت در php

    مثال:

    AuthName "SiteName Administration"
    AuthUserFile /home/domain/.htpasswd
    AuthType basic
    Require valid-user
    Order deny,allow
    Deny from all
    Allow from 24\.205\.23\.222
    Allow from w3.org htmlhelp.com
    Allow from googlebot.com
    Satisfy Any

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    شهریار
    پست
    73

    نقل قول: امنیت در php

    نقل قول نوشته شده توسط Yousha مشاهده تاپیک
    مثال:

    AuthName "SiteName Administration"
    AuthUserFile /home/domain/.htpasswd
    AuthType basic
    Require valid-user
    Order deny,allow
    Deny from all
    Allow from 24\.205\.23\.222
    Allow from w3.org htmlhelp.com
    Allow from googlebot.com
    Satisfy Any
    جوابه کاملیه ، تشکر.
    یه سوال دیگه واسم مونده. این که به کی و به چه مرجعی اجازه دسترسی داده بشه معلوم شد.
    دقیقا نمی دونم سوالم رو چطوری مطرح کنم. من می خوام یه برنامه بنویسم که توی اون برنامه یه نام کاربری و رمز عبور از کاربر بگیرم، بعد این اطلاعات رو بدم به هاست و هاست اجازه دسترسی بده، یعنی دیگه این کادر گرفتن پسورد توسط مرورگر ظاهر نشه
    نمی دونم اصلا چنین چیزی امکان پذیر هست یا نه.
    ممنون میشم جواب بدید.

  10. #10
    کاربر دائمی آواتار Yousha
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران - تهران
    پست
    515

    نقل قول: امنیت در php

    اگر با HTAccess خالص(Pure) انجام بدید امکان پذیر نیست.
    ولی اگر PHP رو دخالت بدید، بله میشه.

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    شهریار
    پست
    73

    نقل قول: امنیت در php

    نقل قول نوشته شده توسط Yousha مشاهده تاپیک
    اگر با HTAccess خالص(Pure) انجام بدید امکان پذیر نیست.
    ولی اگر PHP رو دخالت بدید، بله میشه.
    میشه یه منبع بهم معرفی کنید که بتونم جواب سوالم رو بدست بیارم.

  12. #12
    کاربر دائمی آواتار Yousha
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران - تهران
    پست
    515

    نقل قول: امنیت در php


قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •