صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 22

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

Hybrid View

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

    پیش فرض کش کردن متغییر آی پی در Yii

    با سلام اساتید محترم
    چطوری میشه توی فریمورک yii مقدار ip رو کش کرد؟
    یعنی یه ip رو برای تموم کاربران تا چند ساعت کش کنیم که فقط این آپی نشون داده بشه؟
    آیا راهی هست؟
    خیلی ممنون میشم راهنمایی کنید بهش نیاز دارم
    با تشکر

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


  3. #2
    عضو انجمن rezaonline.net آواتار ها
    تاریخ عضویت
    Apr 2012
    محل سکونت
    Sanandaj | Tehran
    نوشته ها
    939
    تشکر تشکر کرده 
    1,556
    تشکر تشکر شده 
    2,338
    تشکر شده در
    1,230 پست

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

    کد PHP:
    //set
    Yii::$app->cache->set $key$value60 60); //1h


    //get
    Yii::$app->cache->get$key) ; 

    پارامتر سوم به ثانیه هست مدت زمان ذخیره کش هست .

  4. تعداد تشکر ها از rezaonline.net به دلیل پست مفید


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

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

    نقل قول نوشته اصلی توسط rezaonline.net نمایش پست ها
    کد PHP:
    //set
    Yii::$app->cache->set $key$value60 60); //1h


    //get
    Yii::$app->cache->get$key) ; 

    پارامتر سوم به ثانیه هست مدت زمان ذخیره کش هست .

    سلام
    از لطف و محبت شما خیلی ممنونم
    من اگه متغیر آی پی:

    کد HTML:
    $userIp = 5.200.14.17
    باشه چطوری باید توی کدهای شما واردش کنم و بعدا چطوری اونو با echo فراخوانی کنم؟
    چون تازه کارم رو با yii شروع کردم
    خیلی ازتون ممنون و سپاسگزارم
    ویرایش توسط Marshall : December 12th, 2019 در ساعت 18:16

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

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

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

    کد HTML:
    $userIp = 5.200.14.17
    باشه چطوری باید توی کدهای شما واردش کنم و بعدا چطوری اونو با echo فراخوانی کنم؟
    چون تازه کارم رو با yii شروع کردم
    خیلی ازتون ممنون و سپاسگزارم
    value برای ست کردنهر مقداری هست حالا میتونید همه رو اینجا ذخیره کنید یا دونه دونه براش کلید مختلف بسازید
    یک چیزی هست مثل کوکی شما آی پی اول رو کش میکنید و بد از اون تا هر زمانی آی پی اول رو درنظر میگیرید
    -----

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

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

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

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

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

    نقل قول نوشته اصلی توسط Marshall نمایش پست ها
    با سلام
    ببخشید میشه با مقدار آی پی که دادم تابع رو برام درست کنید و بعد هم مقدار رو فراخوانی کنم!
    خیلی ممنون می شم
    کد PHP:

    $userIp 
    5.200.14.17;
    Yii::$app->cache->set 'user_ip'$userip60 60); 
    -----

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


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

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

    درود
    من دیباگ نکردن کدها رو یعنی اصلا yii هم نصب ندارم
    یک چیزی شریع زدم (با در نظر گرفتن این موضوع که شما تسلط ندارید روی کدها)
    بهرحال خواستی یک دسترسی بده حلش کنم
    -----

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


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

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

    نقل قول نوشته اصلی توسط starting نمایش پست ها
    درود
    من دیباگ نکردن کدها رو یعنی اصلا yii هم نصب ندارم
    یک چیزی شریع زدم (با در نظر گرفتن این موضوع که شما تسلط ندارید روی کدها)
    بهرحال خواستی یک دسترسی بده حلش کنم

    با سلام خیلی از لطف و محبتتون ممنونم
    سایت هم واسه من نیست و برای یکی از دوستانمه (بهش میگم واسه دسترسی اگه قبول کرد چشم براتون ارسال می کنم)
    من کدها رو در آخر اینطوری ویرایش کردم

    کد:
     <?php$_1 = intval($_SERVER['QUERY_STRING']);
    if (!Yii::$app->cache->get($_SERVER['QUERY_STRING'])){
        Yii::$app->cache->set($_SERVER['QUERY_STRING'], array('ip'=>$_SERVER['QUERY_STRING'] , $_1), 100);
        if (Yii::$app->cache->get('info')){
            $new=Yii::$app->cache->get('info');
        }else{
            $new=0;
        }
        $new=$_1;
        Yii::$app->cache->set('info', $new , 100);
    }else{
        if (Yii::$app->cache->get('info')){
           $info= Yii::$app->cache->get('info');
        }else{
            $new=0;
        }
    }
    ?>
    
    
    <?php echo Yii::$app->cache->get('info'); ?>
    می خواستم خروجی که از کدها می گیرم فقط برای هر آپ پی در هر صفحه یک عدد باشه کدهایی که شما اول نوشته بودید توی هر صفحه ای که باز می کردید خیلی داده ها رو می نوشت از جمله آی پی و آدرس آرجاع ها رو، و اگه یه صفحه دیگه با آی پی دیگه باز می کردید باز هم توی صفحه جدید داده ی اون صفحه و داده صفحه قبل هم نشون داده می شد برای همین داده ها رو در انتها به این شکل درآوردم. الان همون طوری که من انتظار دارم کدها عمل می کنند (البته شاید چون تسلط کافی به برنامه نویسی ندارم) ولی وقتی صفحات رو عوض می کنم باز هم برای همه آی پی ها یه چیز ثابت ثبت می شه!
    من خواستم خروجی که از کدها بدست میاد فقط عدد باشه (خروجی کدهای شما بیشتر بود)
    فکر کنم اشتباه از من بوده و من کدها رو اشتباه ویرایش کردم!

    می می خوام در انتها هر صفحه ای که باز می شه به ازای آی پی های مختلف وقتی echo می گیرم یک عدد باشه برای همین از intval و $_SERVER['QUERY_STRING استفاده کردم، کدهایی که شمار رحمتش رو کشیدید و من رو شرمنده کردید همه ی داده ها رو توی صفحه پشت سر هم ردیف می کرد. اینطوری:

    کد HTML:
    [0,{"ip":"95.143.192.110","ref":"24"},{"ip":"5.204.111.230","ref":"24"},{"ip":"95.143.192.110","ref":"24"}]
    من می خواستم وقتی از هر صفحه echo می گیرد یه عدد ساده بدست بیاد مثال: 24
    و برای صفحه بعدی مثلا 0
    و برای صفحه بعدی 10
    ویرایش توسط Marshall : December 14th, 2019 در ساعت 18:11

  13. #9
    عضو انجمن sam_pontiac آواتار ها
    تاریخ عضویت
    Apr 2009
    نوشته ها
    180
    تشکر تشکر کرده 
    166
    تشکر تشکر شده 
    279
    تشکر شده در
    166 پست

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

    نقل قول نوشته اصلی توسط Marshall نمایش پست ها
    من فقط می خواهم واسه کش کردن اینکارو انجام بدم
    مثلا یک نفر با کد معرف وارد سایت میشه که ثبت نام کنه
    فرضا domain.com/r=32
    من می خواهم این کد معرف فقط روی کامپیوتر اون کار کنه و اگه یکی دیگه خواست در همین زمان ثبت نام کنه اگه کد معرف داشت کد معرف اون ثبت بشه اگه نداشت صفر ثبت بشه!
    من با استفاده از تابع $_SERVER['QUERY_STRING'] فقط عدد رو باقی میذارم که از لینک معرفش فقط عدد بمونه مثلا 32
    الان می خوام چه با کش کردن و یا چه با تابع $_SESSION اینکار انجام بشه و کد معرف هر کسی فقط روی کامپیوتر خودش تا زمانی که من تعیین می کنم فعال باشه!
    سلام
    با توجه به این پیامتون.
    شما میخواید که کد معرفی که دارید در اولین استفاده، برای اون آی پی یونیک بشه و دیگه کسی نتونه ازش استفاده کنه.صحیح؟
    اگر چنین چیزی میخواید، با اینکه من ساختار جدول شما رو نمیدونم و همچنین نمیدونم که آیا برای این کدهای معرف از دیتابیس اقدام کردید یا بصورت دستی از داخل فایل تعیین میکنید.
    اگر در دیتابیس ذخیره میشه، چنانچه یک column به جدول مرتبط باهاش اضافه کنید با عنوان user_up و varchar باشه، میتونید با یک شرط محدودیت مدنظر تون رو اعمال کنید.
    چطور؟
    تو فانکشن و یا فایل مورد نظر ( که البته با توجه به توضیحاتی که دادین قطعا در یک تابع هست که در تمامی وبسایت فراخوانی شده ):

    میایم مثلا برای اینجا در نظر میگیریم که در جدول مرتبط باهاش 3 column داریم با نام id و referrer و user_ip

    0- بیاید ابتدای امر بررسی کنید که اگر مقدار "r" در کوئری استرینگ ( domain.com/?r=32 مثلا ) موجود بود :
    1- اول چک کنه داخل جدول مرتبط که مقدار user_ip خالی هست یا خیر.( SELECT FROM ... WHERE referrer = $r مثلا الی آخر )
    2- در صورت خالی نبودنش ، آی پی ثبت بشه. ( UPDATE ...set value.... WHERE refferer = $r )
    3- در غیر اینصورت هم نیازی به آپدیت و ... نیست و چنانچه آی پی ثبت شده بود، مقدار "r" رو نادید بگیره و بعنوان یک کاربر بدون معرف درنظر گرفته بشه.

    دیگه نیازی به کش کردن و باقی مسائل ندارید.
    صرفا یک column تعریف کردید تو جدول مرتبط باهاش که ذخیره ساز آی پی کاربر هست.
    اگر این مقدار خالی بود ، که مقدار "r" رو در نظر میگیره و آی پی رو در user_ip مرتبط با r ذخیره میکنه !
    در غیر اینصورت، این مقدار رو نادیده میگیره و اصلا لحاظ نمیکنه.

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

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

    نقل قول نوشته اصلی توسط sam_pontiac نمایش پست ها
    سلام
    با توجه به این پیامتون.
    شما میخواید که کد معرفی که دارید در اولین استفاده، برای اون آی پی یونیک بشه و دیگه کسی نتونه ازش استفاده کنه.صحیح؟
    اگر چنین چیزی میخواید، با اینکه من ساختار جدول شما رو نمیدونم و همچنین نمیدونم که آیا برای این کدهای معرف از دیتابیس اقدام کردید یا بصورت دستی از داخل فایل تعیین میکنید.
    اگر در دیتابیس ذخیره میشه، چنانچه یک column به جدول مرتبط باهاش اضافه کنید با عنوان user_up و varchar باشه، میتونید با یک شرط محدودیت مدنظر تون رو اعمال کنید.
    چطور؟
    تو فانکشن و یا فایل مورد نظر ( که البته با توجه به توضیحاتی که دادین قطعا در یک تابع هست که در تمامی وبسایت فراخوانی شده ):

    میایم مثلا برای اینجا در نظر میگیریم که در جدول مرتبط باهاش 3 column داریم با نام id و referrer و user_ip

    0- بیاید ابتدای امر بررسی کنید که اگر مقدار "r" در کوئری استرینگ ( domain.com/?r=32 مثلا ) موجود بود :
    1- اول چک کنه داخل جدول مرتبط که مقدار user_ip خالی هست یا خیر.( SELECT FROM ... WHERE referrer = $r مثلا الی آخر )
    2- در صورت خالی نبودنش ، آی پی ثبت بشه. ( UPDATE ...set value.... WHERE refferer = $r )
    3- در غیر اینصورت هم نیازی به آپدیت و ... نیست و چنانچه آی پی ثبت شده بود، مقدار "r" رو نادید بگیره و بعنوان یک کاربر بدون معرف درنظر گرفته بشه.

    دیگه نیازی به کش کردن و باقی مسائل ندارید.
    صرفا یک column تعریف کردید تو جدول مرتبط باهاش که ذخیره ساز آی پی کاربر هست.
    اگر این مقدار خالی بود ، که مقدار "r" رو در نظر میگیره و آی پی رو در user_ip مرتبط با r ذخیره میکنه !
    در غیر اینصورت، این مقدار رو نادیده میگیره و اصلا لحاظ نمیکنه.
    با سلام و متشکرم از محبت شما که جواب دادید
    برای کد معرف از دیتابیس استفاده می کنم و یک فیلد براش ساختم که توی قسمت کاربران اگه شناسه کاربر با شناسه ی معرف یکی بود اون کاربر با لینک معرف اون یوزر ثبت بشه
    توضیحاتی که شما دادید خیلی خوب بودند ولی به نظر خودم اینطوری بهتره که کد معرف و آی پی کاربر کش بشه، دوست خوبمون جناب استاتر زحمت نوشتن تابعش رو کشیدنش، تابعش خیلی خوب بود و برای هر آی پی کار می کرد فقط در صورتی که صفحات رو جابجا می کردی با هم قاطی می شدن و همه میشدن یک کد معرف!

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


صفحه 1 از 2 12 آخرینآخرین

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

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

در حال حاضر 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

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

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