راکت
amir
amir
توسط amir مطرح شد
13 پاسخ

نحوه ساخت توکن

با سلام میخواستم بدونم چگونه میشه یه استرینگ طولانی به عنوان توکن ساخت که اون رو داخل کوکی ریخت وبعدش چک کنیم که داخل دیتابیس این توکن هست یا نه ؟ آیا تابع php به طور خاص وجود داره؟
@mohaligateway


ثبت پرسش جدید
سینا خاقانی
سینا خاقانی
تخصص :توسعه دهنده بک‌اند
@sina.it915 سال پیشمطرح شد
0

@behzadi
سلام
در لاراول میشه از کتابخونه ی passport استفاده کرد اما در php باید اینکارو خودتون انجام بدین

ساخت توکن:

$hash = bin2hex(random_bytes(16));

لینک توضیحات


رضا پارسیان
رضا پارسیان
تخصص :توسعه دهنده Php , Laravel
@Rp765 سال پیشمطرح شد
1

سلام وقتتون بخیر!

میتونید از توابع md5 استفاده کنید

$token=md5($username+$pass) // har jor ke mikhay token ro besaz

amir
amir
تخصص :بک اند و فرانت اند
@behzadi5 سال پیشمطرح شد
0

الان من چجور میتونم تعداد کاراکتر هاش رو تعیین کنم؟
@Rp76


رضا پارسیان
رضا پارسیان
تخصص :توسعه دهنده Php , Laravel
@Rp765 سال پیشمطرح شد
0

ثابت هست ۳۲ هست فکر کنم


حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
0

سلام
به طور دستی هم خودت میتونی یه رشته طولانی تولید کنی همه کاراکترهای انگلیسی و اعداد انگلیسی رو تو یه آرایه بریز و آرایه رو بهم بریز و به صورت رندوم هر تعداد کاراکتر خواستی از این آرایه برگردون.


Muhammad
Muhammad
تخصص :Back-End Developer
@muhammad5 سال پیشمطرح شد
2

پیشنهاد می‌کنم راجع به JWT کمی بخونین.


حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
1

سلام
از این روش استفاده کنید
هر چقدر طول آرایه a رو افزایش بدی میتونین رشته طولانی تری بدست بیارین.
تابع مذکور تا 62 کاراکتر رندوم بر میگرداند.
پارامترهای تابه عددی از یک تا 62 باید باشد.
همانطور که گفتم دیگر سیمبول های لاتین رو میتونید به این آرایه اضافه کنید تا هش های قویتری بدهد.


amir
amir
تخصص :بک اند و فرانت اند
@behzadi5 سال پیشمطرح شد
0

@Rp76 بعد یه سوال دیگه مثلا الان این سایته راکت از سشن توکن خیلی طولانی استفاده کرده چجور میشه این ها رو ساخت ؟
البته این دوستمون هم درست میگن @hosseinshirinegad98 ولی نمیخام کدها شلوغ بشن تابعه دیگه ای نداریم که طولانی تر باشه و تقریبا احتماله هک شدنش صفرباشه؟


amir
amir
تخصص :بک اند و فرانت اند
@behzadi5 سال پیشمطرح شد
0

@muhammad من چیزی که گفتید رو سرچ کردم و واقعا چیز جالبی بود و نوشته بود برای تایید اعتبار لازم نیست هی به دیتابیس ریکویست بدیم میخواستم بدونم چجور این کار رو میشه کرد؟


رضا پارسیان
رضا پارسیان
تخصص :توسعه دهنده Php , Laravel
@Rp765 سال پیشمطرح شد
0

اونی که سایت راکت استفاده میکنه JWT هست JSON Web Token
تا حالا از این کد ها تولید نکردم ولی همون md5 هم خیلی خوبه!
یا sha256

MD5

42153f3a139743b6f7596fd36931221d // 128bit 

Sha256

d672791aab100580a7a637a8a29f7adbe4077fdec5b3524d405145605419a3b9 // 256 bits

Sha512

20f3dbc9462adac82722b67f3348c28dd2a3295451b2f45e47e9b0647c257b8721963fad63949a90ff8e5fcc1d47e1f54522af7ce9ee5b335a55c8773e4fa014 // 512-bit

کد های بالا برای Rp76 هست


Muhammad
Muhammad
تخصص :Back-End Developer
@muhammad5 سال پیشمطرح شد
0

در واقع JWT میاد و اطلاعات غیر حساس کاربر مثل آیدی و یوزرنیم رو داخل توکن ذخیره می‌کنه. خوب نگاه کنین می‌بینین JWT سه تا کد encryptشدست که با نقطه از هم جدا شدن. قسمت اول هدره، قسمت دوم پیلود که اطلاعات داخلشه، قسمت سوم هم امضای توکن که در سمت سرور باهاش اعتبارسنجی انجام میشه.

اینجا یه مقاله راجع بهش هست:
https://www.sitepoint.com/php-authorization-jwt-json-web-tokens/

البته اگه با لاراول کار می‌کنین، پکیج پسپورت عالیه:
https://laravel.com/docs/8.x/passport
@behzadi


amir
amir
تخصص :بک اند و فرانت اند
@behzadi5 سال پیشمطرح شد
0

@Rp76 @muhammad خیلی ممنون از راهنماییتون کاشکی میشد دوتا جواب رو به عنوان جواب برتر انتخاب کرد تشکر


رضا پارسیان
رضا پارسیان
تخصص :توسعه دهنده Php , Laravel
@Rp765 سال پیشمطرح شد
0

هیچ کدوم رو انتخاب نکن 🤣🤣


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

ورود یا ثبت‌نام