nexpay

یک مشکل !

شروع موضوع توسط javad409 ‏6 فوریه 2006 در انجمن PHP

  1. javad409

    javad409 کاربر تازه وارد

    تاریخ عضویت:
    ‏4 ژانویه 2006
    نوشته ها:
    7
    تشکر شده:
    0
    سلام
    با عرض پوزش .. ( نمیدونستم Title رو چی بنویسم !)

    من برای استفاده از کد زیر دچار مشکل شدم

    کد:
    <?php
        if (!isset($_SERVER['PHP_AUTH_USER'])) {
            header("WWW-Authenticate: Basic realm=\"Private Area\"");
            header("HTTP/1.0 401 Unauthorized");
            print "Sorry - you need valid credentials to be granted access!\n";
            exit;
        } else {
            if (($_SERVER['PHP_AUTH_USER'] == 'test1') && ($_SERVER['PHP_AUTH_PW'] == 'test1')) {
                print "Welcome to the private area!";
            } else {
                header("WWW-Authenticate: Basic realm=\"Private Area\"");
                header("HTTP/1.0 401 Unauthorized");
                print "Sorry - you need valid credentials to be granted access!\n";
                exit;
            }
        }
    ?> 
    

    زمانی که شما این کد رو در فایلی کپی کنید (login.php ) زمانی در خواست فایل از شما یک Username & password میخواد !
    که با توجه به این خط
    کد:
            if (($_SERVER['PHP_AUTH_USER'] == [COLOR="Red"]'test1')[/COLOR] && ($_SERVER['PHP_AUTH_PW'] == [COLOR="red"]'test1'[/COLOR])) {
    
    کلمه کاربری و پسورد test1 هست !
    حالا مشکل اینجاست که زمانی که این پسورد و یوزر نیم رو وارد میکنم وارد صحفه نمیشه و پیغام رو نشون نمیده !

    فکر میکنید مشکل از کجاست !


    درضمن این روش امنیت خوبی داره !
     
  2. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    سلام

    بجاي isset از empty استفاده کن ببين درست نمي شه؟
    PHP:
    if(empty($???)){
     
  3. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    یه بارم با double کوتیشن تست کن! یعنی از " استفاده کن!
     
  4. vahidrk

    vahidrk کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    3,376
    تشکر شده:
    500
    محل سکونت:
    Home
    سالار جون هنوز هم مثل هميشه داري به مشكلات بچه ها جواب مي دي.
    اي ول.
    ولي نمي دونم چي شده با من قهري؟چرا توي ياهو جواب منو نمي دي؟[​IMG]
     
  5. javad409

    javad409 کاربر تازه وارد

    تاریخ عضویت:
    ‏4 ژانویه 2006
    نوشته ها:
    7
    تشکر شده:
    0
    هر دو روش رو تست کردم ولی جواب نمیده !

    راستی شما می تونید برم کاری کنید که بجای این روش یک صحفه login ( یک فرم که نام کاربری و پسورد یخواهد ! ) بارم درست کنید ! ( که بجای این روش استفاده کنم ! ( میخواهم این روش رو یاد بگیرم ! )
     
  6. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    مي توني از session استفاده کني
    من تو اين تاپيک روش سادشو توضيح دادم http://forum.persiantools.com/showthread.php?t=35521

    و يه تاپيک ديگه هم تو همين صفحه اول فروم هست به اسم فرم ورود و خروج که بچه ها توش توضيح دادن
     
  7. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    خوب این امکان اصلا تو WIN32 کار نمی کنه
    رو یه سرور لینوکس امتحان کن ...
     
  8. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    خوب من اصلا این رو روی سرور اپاچی تست کردم بدون مشکل کار می کنه
     
  9. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    سلام

    امتحاناتتون تموم شد؟ خسته نباشيد [​IMG]
     
  10. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
  11. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    نه نه پدرام برا من هم رو لینوکس کار کرده هم رو ویندوز تو اون کتابه توضیح داده!!!

    این روش از همه بهتره!! :lol:
     
  12. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    خوب اگه با HTAPASSWORD باشه کار نمیکنه
    100 بار امتحان کردم
     
  13. avajang.com .leftjee.ir.right
  14. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    نه بابا htpasswd نیست... هدرهای مرورگره:
    PHP:
            header("WWW-Authenticate: Basic realm=\"Test\"");
            
    header("HTTP/1.0 401 Unauthorized");
     
  15. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
  16. phpkar

    phpkar Registered User

    تاریخ عضویت:
    ‏11 آگوست 2005
    نوشته ها:
    388
    تشکر شده:
    0
    محل سکونت:
    Mashhad

    اتفاقا در هر دو حالت روی WIN32 کار میکنه فقط اگر با روش htacess بخوای بری توی ویندوز به جای SHA کردن پسورد باید پسورد رو به همون صورتی که هست توی یه فایل دیگه مثل htpassword بنویسی اما توی لینوکس باید پسورد رو به صورت user:pass به صورت pass که SHA شده بنویسی
    در روش دوم با دستور header در php که همین دوستمون نوشته Login رو انجام میدی ... اما این روش اگر بره user و pass رو از دیتایس بخونه در معرض خطر SQL Injection هست . پس روش اول مطمئن تره ... اما محل اختفای فایل htpassword باید توی یکی از شاخه های قبل از public_html باشه یعنی روی root در FTP ... در این روش 100 درصد امنیت برای سیستم لوگین وجود داره ...
     
  17. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal