با سلام میخواستم بدونم چگونه میشه یه استرینگ طولانی به عنوان توکن ساخت که اون رو داخل کوکی ریخت وبعدش چک کنیم که داخل دیتابیس این توکن هست یا نه ؟ آیا تابع php به طور خاص وجود داره؟
@mohaligateway
@behzadi
سلام
در لاراول میشه از کتابخونه ی passport استفاده کرد اما در php باید اینکارو خودتون انجام بدین
ساخت توکن:
$hash = bin2hex(random_bytes(16));
سلام وقتتون بخیر!
میتونید از توابع md5 استفاده کنید
$token=md5($username+$pass) // har jor ke mikhay token ro besaz
سلام
به طور دستی هم خودت میتونی یه رشته طولانی تولید کنی همه کاراکترهای انگلیسی و اعداد انگلیسی رو تو یه آرایه بریز و آرایه رو بهم بریز و به صورت رندوم هر تعداد کاراکتر خواستی از این آرایه برگردون.
سلام
از این روش استفاده کنید
هر چقدر طول آرایه a رو افزایش بدی میتونین رشته طولانی تری بدست بیارین.
تابع مذکور تا 62 کاراکتر رندوم بر میگرداند.
پارامترهای تابه عددی از یک تا 62 باید باشد.
همانطور که گفتم دیگر سیمبول های لاتین رو میتونید به این آرایه اضافه کنید تا هش های قویتری بدهد.
@Rp76 بعد یه سوال دیگه مثلا الان این سایته راکت از سشن توکن خیلی طولانی استفاده کرده چجور میشه این ها رو ساخت ؟
البته این دوستمون هم درست میگن @hosseinshirinegad98 ولی نمیخام کدها شلوغ بشن تابعه دیگه ای نداریم که طولانی تر باشه و تقریبا احتماله هک شدنش صفرباشه؟
@muhammad من چیزی که گفتید رو سرچ کردم و واقعا چیز جالبی بود و نوشته بود برای تایید اعتبار لازم نیست هی به دیتابیس ریکویست بدیم میخواستم بدونم چجور این کار رو میشه کرد؟
اونی که سایت راکت استفاده میکنه JWT هست JSON Web Token
تا حالا از این کد ها تولید نکردم ولی همون md5 هم خیلی خوبه!
یا sha256
42153f3a139743b6f7596fd36931221d // 128bit
d672791aab100580a7a637a8a29f7adbe4077fdec5b3524d405145605419a3b9 // 256 bits
20f3dbc9462adac82722b67f3348c28dd2a3295451b2f45e47e9b0647c257b8721963fad63949a90ff8e5fcc1d47e1f54522af7ce9ee5b335a55c8773e4fa014 // 512-bit
کد های بالا برای Rp76 هست
در واقع JWT میاد و اطلاعات غیر حساس کاربر مثل آیدی و یوزرنیم رو داخل توکن ذخیره میکنه. خوب نگاه کنین میبینین JWT سه تا کد encryptشدست که با نقطه از هم جدا شدن. قسمت اول هدره، قسمت دوم پیلود که اطلاعات داخلشه، قسمت سوم هم امضای توکن که در سمت سرور باهاش اعتبارسنجی انجام میشه.
اینجا یه مقاله راجع بهش هست:
https://www.sitepoint.com/php-authorization-jwt-json-web-tokens/
البته اگه با لاراول کار میکنین، پکیج پسپورت عالیه:
https://laravel.com/docs/8.x/passport
@behzadi
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟