نمایش نتایج: از شماره 1 تا 10 , از مجموع 22

موضوع: کش کردن متغییر آی پی در Yii

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن starting آواتار ها
    تاریخ عضویت
    Jul 2015
    محل سکونت
    6346cc631627632
    نوشته ها
    255
    تشکر تشکر کرده 
    612
    تشکر تشکر شده 
    372
    تشکر شده در
    245 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط Marshall نمایش پست ها
    خیلی ممنون از محبت شما دوست عزیز

    یعنی اینطوری همه ی کاربران همین آپی رو برای مدت یکساعت می بیند؟

    الان من نمی تونم echo کنم ببینم ip واقعا برای همه این است؟

    مثلا این آی پی کاربران است که متغیر هستند!

    من می خوام آی پی یکی از کاربران تا زمان بخصوصی cache بشه و همه ی کاربران بجای اینکه ip خودشون رو ببیند ip ی که کش شده رو ببیند و باز هم بعد از یک ساعت دیگه یه آی دیگه کش بشه و این روند ادامه داشته باشه

    من به echo هم نیاز دارم که تابعش رو فراخوانی کنم!
    درود
    ببینید وقتی یکی سوال میپرسه از یک فریمورک بنا بر این میزاریم ایشون php بلد هست و گیر اون بخش خاص فریمورک هست
    بهرحال
    کد PHP:
    Yii::$app->cache->set 'user_ip'Yii::$app->getRequest()->getUserIP(), 60 60);
    $ip_az_cache=Yii::$app->cache->get'user_ip') ;
    // hala $ip_az_cache har ja khasti cho kon ya mostaghim Yii::$app->cache->get( 'user_ip') ; echo kon
    //ama dorostesh ine chek koni bebini baraye in user ip cache dari (kamtar az zaman masalan 1 saat) agar nabood az ip jadidd echo koni
    if (Yii::$app->cache->get'user_ip')){
        echo 
    Yii::$app->cache->get'user_ip');
    }else{
        echo 
    Yii::$app->getRequest()->getUserIP();

    -----

  2. تعداد تشکر ها از starting به دلیل پست مفید


  3. #2
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط starting نمایش پست ها
    درود
    ببینید وقتی یکی سوال میپرسه از یک فریمورک بنا بر این میزاریم ایشون php بلد هست و گیر اون بخش خاص فریمورک هست
    بهرحال
    کد PHP:
    Yii::$app->cache->set 'user_ip'Yii::$app->getRequest()->getUserIP(), 60 60);
    $ip_az_cache=Yii::$app->cache->get'user_ip') ;
    // hala $ip_az_cache har ja khasti cho kon ya mostaghim Yii::$app->cache->get( 'user_ip') ; echo kon
    //ama dorostesh ine chek koni bebini baraye in user ip cache dari (kamtar az zaman masalan 1 saat) agar nabood az ip jadidd echo koni
    if (Yii::$app->cache->get'user_ip')){
        echo 
    Yii::$app->cache->get'user_ip');
    }else{
        echo 
    Yii::$app->getRequest()->getUserIP();


    از لطف و محبت شما بسیار ممنون و سپاسگزارم

    ببخشید شما رو هم به زحمت انداختم

    ببخشید این رو هم می تونید جواب بدید؟

    من با این توضیحات و کدهای شما کد زیر رو نوشتم:

    کد PHP:


    <?php Yii::$app->cache->set'in_page'$_SERVER['HPPT_REFERER'], 60 60);


    $inpage_cache=Yii::$app->cache->get'in_page') ;


    ?>
    <?php 
    echo $inpage?>
    انتظار داشتم کاربران وقتی از این صفحه به اون صفحه سایت که میرن فقط زیر تموم صفحات $_SERVER['HPPT_REFERER'] ذخیره شده را ببیند ولی با هر بار صفحه عوض کردن آدرس اینم عوض میشه!

    خیلی ممنون میشم اینم جواب بدید

    بخاطر کمکتون هم خیلی ازتون ممنون و سپاسگزارم
    ویرایش توسط Marshall : December 13th, 2019 در ساعت 01:51

  4. #3
    عضو انجمن starting آواتار ها
    تاریخ عضویت
    Jul 2015
    محل سکونت
    6346cc631627632
    نوشته ها
    255
    تشکر تشکر کرده 
    612
    تشکر تشکر شده 
    372
    تشکر شده در
    245 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط marshall نمایش پست ها
    از لطف و محبت شما بسیار ممنون و سپاسگزارم

    ببخشید شما رو هم به زحمت انداختم

    ببخشید این رو هم می تونید جواب بدید؟

    من با این توضیحات و کدهای شما کد زیر رو نوشتم:

    کد PHP:


    <?php yii::$app->cache->set'in_page'$_server['hppt_referer'], 60 60);


    $inpage_cache=yii::$app->cache->get'in_page') ;


    ?>
    <?php 
    echo $inpage?>
    انتظار داشتم کاربران وقتی از این صفحه به اون صفحه سایت که میرن فقط زیر تموم صفحات $_server['hppt_referer'] ذخیره شده را ببیند ولی با هر بار صفحه عوض کردن آدرس اینم عوض میشه!

    خیلی ممنون میشم اینم جواب بدید

    بخاطر کمکتون هم خیلی ازتون ممنون و سپاسگزارم
    شما باید از ایندکس
    کد PHP:
    $_server['remote_addr'
    استفاده کنید رفر برای آدرس ارجاع هست نه آی پی کاربر


    - - - Updated - - -

    البته اگر منظورتون اینه میخواید رفر اولی ثبت بشه اینم باید کش کنید بهمون شکل آی پی
    البته نیاید باز همون کدها رو بنویسید بهتره بزاریدش در یک آرایه و کل آرایه رو کش کنید یا برای استفاده کامل کل هدر رو تبدیل کنید به یک جیسون و کل جیسون رو کش کنید و اگر سختتون هست خب مجدد کدها رو بزارید و بازنویسی کنید برای رفرال (گرچه اصولی نیست اما خب ...)
    ویرایش توسط starting : December 13th, 2019 در ساعت 02:07
    -----

  5. #4
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط starting نمایش پست ها
    شما باید از ایندکس
    کد PHP:
    $_server['remote_addr'
    استفاده کنید رفر برای آدرس ارجاع هست نه آی پی کاربر


    - - - Updated - - -

    البته اگر منظورتون اینه میخواید رفر اولی ثبت بشه اینم باید کش کنید بهمون شکل آی پی

    البته نیاید باز همون کدها رو بنویسید بهتره بزاریدش در یک آرایه و کل آرایه رو کش کنید یا برای استفاده کامل کل هدر رو تبدیل کنید به یک جیسون و کل جیسون رو کش کنید و اگر سختتون هست خب مجدد کدها رو بزارید و بازنویسی کنید برای رفرال (گرچه اصولی نیست اما خب ...)

    با سلام و از محبت شما بسیار سپاسگزارم

    من جواب اول شما رو گرفتم و می دونم remote_addr برای برگرداندن آی پی کاربر است

    در کدهای بعد از راهنمایی شما که گفتید من آدرس ارجاع صفحه رو هم خواستم اضافه کنم به همون صورتی که کدها رو نوشتم
    ولی با هر بار عوض کردن صفحه آدرس ارجاع صفحه هم عوض میشه!
    من انتظار داشتم آدرس ارجاع صفحه برای یک ساعت ثابت بمونه و با عوض کردن صفحات توسط کاربران این مقدار عوض نشه!
    ویرایش توسط Marshall : December 13th, 2019 در ساعت 02:34

  6. #5
    عضو انجمن starting آواتار ها
    تاریخ عضویت
    Jul 2015
    محل سکونت
    6346cc631627632
    نوشته ها
    255
    تشکر تشکر کرده 
    612
    تشکر تشکر شده 
    372
    تشکر شده در
    245 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط Marshall نمایش پست ها
    با سلام و از محبت شما بسیار سپاسگزارم

    من جواب اول شما رو گرفتم و می دونم remote_addr برای برگرداندن آی پی کاربر است

    در کدهای بعد از راهنمایی شما که گفتید من آدرس ارجاع صفحه رو هم خواستم اضافه کنم به همون صورتی که کدها رو نوشتم
    ولی با هر بار عوض کردن صفحه آدرس ارجاع صفحه هم عوض میشه!
    من انتظار داشتم آدرس ارجاع صفحه برای یک ساعت ثابت بمونه و با عوض کردن صفحات توسط کاربران این مقدار عوض نشه!
    خب شما دارید بدون اینکه بررسی کنید کش هست یا نیست هر بار مقدار جدید بهش میدید!

    باید بشکل زیر باشه
    کد PHP:
    <?php
     
    if (!Yii::$app->cache->get'in_page')){
         
    Yii::$app->cache->set'in_page'$_SERVER['HPPT_REFERER'], 60 60);
     }
    $inpage_cache=yii::$app->cache->get'in_page') ;
    ?>

    <?php echo $inpage_cache?>
    موفق باشید
    ویرایش توسط starting : December 13th, 2019 در ساعت 02:42
    -----

  7. تعداد تشکر ها از starting به دلیل پست مفید


  8. #6
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط starting نمایش پست ها
    خب شما دارید بدون اینکه بررسی کنید کش هست یا نیست هر بار مقدار جدید بهش میدید!

    باید بشکل زیر باشه
    کد PHP:
    <?php
     
    if (!Yii::$app->cache->get'in_page')){
         
    Yii::$app->cache->set'in_page'$_SERVER['HPPT_REFERER'], 60 60);
     }
    $inpage_cache=yii::$app->cache->get'in_page') ;
    ?>

    <?php echo $inpage_cache?>
    موفق باشید

    دوست عزیزم از لطف و محبت شما بسیار ممنون و سپاسگزارم
    منو تا دنیا دنیاست شرمنده ی خودتوت کردید
    با این کد آخری شما چیزی که میخواستم بدست آوردم
    بازم ازتوت ممنون و سپاسگزارم
    ببخشید یه خواهش دیگه هم دارم
    میشه اون یکی تاپیک منو هم نگاه کنید و اگه زحمتی براتون نداره اونم جواب بدید!
    خدا بهتون سلامتی بده


    و ببخشید یه چیز دیگه توی کامنت هاتون نوشتید اگه از این روش استفاده کنم اصولی نیست اگه کارم رو هم راه بندازه!
    ویرایش توسط Marshall : December 13th, 2019 در ساعت 03:00

  9. تعداد تشکر ها از Marshall به دلیل پست مفید


  10. #7
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط starting نمایش پست ها
    خب شما دارید بدون اینکه بررسی کنید کش هست یا نیست هر بار مقدار جدید بهش میدید!

    باید بشکل زیر باشه
    کد PHP:
    <?php
     
    if (!Yii::$app->cache->get'in_page')){
         
    Yii::$app->cache->set'in_page'$_SERVER['HPPT_REFERER'], 60 60);
     }
    $inpage_cache=yii::$app->cache->get'in_page') ;
    ?>

    <?php echo $inpage_cache?>
    موفق باشید

    ببخشید اگه بخواهیم برای هر ip یک آدرس ارجاع ثبت بشه اون موقع باید تابع رو چطوری تعییر بدیم؟!


    یعنی هر ip اولین صفحه ارجایی که باهاش اومده تا یک ساعت ثبت بشه!

    و به نا به دلایلی که دیدم اگه کاربران از سایت دیگه اومده باشند آدرس ارجاع اونها رو اون سایتی که ازش اومدن ثبت می کنه در حالیکه من می خواستم آدرس ارجاع فقط متعلق به سایت خودم باشه برای همین به جای استفاده از $_SERVER['HTTP_REFERER'] از $_SERVER['QUERY_STRING']; استفاده کردم و دیدم اون چیزی که من انتظارش رو داشتم برآورده می کنه فقط در انتها می خوام برای هر ip یک $_SERVER['QUERY_STRING']; ثبت بشه یعنی هر ip صفحه $_SERVER['QUERY_STRING']; خودش رو داشته باشه و تا یک ساعت ثبت بشه!
    ویرایش توسط Marshall : December 13th, 2019 در ساعت 11:55

  11. #8
    عضو انجمن starting آواتار ها
    تاریخ عضویت
    Jul 2015
    محل سکونت
    6346cc631627632
    نوشته ها
    255
    تشکر تشکر کرده 
    612
    تشکر تشکر شده 
    372
    تشکر شده در
    245 پست

    پیش فرض پاسخ : کش کردن متغییر آی پی در Yii

    نقل قول نوشته اصلی توسط Marshall نمایش پست ها
    ببخشید اگه بخواهیم برای هر ip یک آدرس ارجاع ثبت بشه اون موقع باید تابع رو چطوری تعییر بدیم؟!


    یعنی هر ip اولین صفحه ارجایی که باهاش اومده تا یک ساعت ثبت بشه!

    و به نا به دلایلی که دیدم اگه کاربران از سایت دیگه اومده باشند آدرس ارجاع اونها رو اون سایتی که ازش اومدن ثبت می کنه در حالیکه من می خواستم آدرس ارجاع فقط متعلق به سایت خودم باشه برای همین به جای استفاده از $_SERVER['HTTP_REFERER'] از $_SERVER['QUERY_STRING']; استفاده کردم و دیدم اون چیزی که من انتظارش رو داشتم برآورده می کنه فقط در انتها می خوام برای هر ip یک $_SERVER['QUERY_STRING']; ثبت بشه یعنی هر ip صفحه $_SERVER['QUERY_STRING']; خودش رو داشته باشه و تا یک ساعت ثبت بشه!
    ببین اینکاری که من دارم برای شما میکنم اصولی نیست
    1.چون نیاز هست در چند فایل تغییر داده بشه
    2.باید بدونم اصلا هدف چیه
    3.باید دیباگ بشه کد

    اگر مورد اول و دوم هم باشه این رفع اشکال برای شما نیست و بنوعی یک کار غیر اصولی هست

    اما با اینحال من طوری کد رو نوشتم که نیاز نباشه در فایل کانفیگ شما تغییری بدید و همه حالات رو در نظر گرفتم (دیباگش با خودتون)
    کد PHP:
    <?php

    if (!Yii::$app->cache->get$_server['remote_addr'])){
        
    Yii::$app->cache->set$_server['remote_addr'], array('ip'=>$_server['remote_addr'] ,'ref'=>$_SERVER['HPPT_REFERER']), 60 60);
        if (
    Yii::$app->cache->get'info')){
            
    $info0=json_decode(Yii::$app->cache->get'info'));
        }else{
            
    $info0[]=null;
        }

        
    $info0[]=array('ip'=>$_server['remote_addr'] ,'ref'=>$_SERVER['HPPT_REFERER']);
        
    $info_json=json_encode($info0);
        
    Yii::$app->cache->set'info'$info_json 60 60*3);
    }else{
        if (
    Yii::$app->cache->get'info')){
           
    $infojson_decode(Yii::$app->cache->get'info'));
        }else{
            
    $info0[]=null;
        }
    }

    if (
    count($info[0])){
        foreach (
    $info as $key=>$value){
            echo 
    'ip: '$key .' refer: '.$value .'<br>';
        }
    }
    ?>
    -----

  12. تعداد تشکر ها از starting به دلیل پست مفید


اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 16
    آخرين نوشته: October 14th, 2016, 16:33
  2. پاسخ ها: 10
    آخرين نوشته: May 7th, 2016, 14:41
  3. کسی راه تغییر مشخصات یک کلاس از ای پی از مجموعه ای پی رایپ رو بلده ؟
    توسط sodahost در انجمن اتصالات به اینترنت و ارایه دهندگان پهنای باند
    پاسخ ها: 3
    آخرين نوشته: January 10th, 2016, 18:13
  4. پاسخ ها: 3
    آخرين نوشته: July 11th, 2013, 15:42
  5. پاسخ ها: 5
    آخرين نوشته: November 14th, 2011, 19:16

مجوز های ارسال و ویرایش

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