صادق مرادی
5 سال پیش توسط صادق مرادی مطرح شد
5 پاسخ

تغییر id برای امنیت بیشتر دیتا

سلام دوستان
من تو لاراول وقتی میخوام مثلا دیتا وارد دیتابیس کنم این بصورت خودکار id اضافه میشه 1و2و3و ...
و زمانی که میخوام پست نشون بدم مثلا میزنم post/2 و ... اینطوری هر کسی میتونه عدد رو تغییر بده و به پست بعدی دسترسی داشته باشه.

چطوری کاری کنیم که ای دی هر رکورد مثلا 5 رقم باشه و رندم هم باشه
ایا تو لاراول برای این کار مکانیزم خاصی هست یا اینکه بای خودمون دستی تغییرات رو انجام بدیم؟


ثبت پرسش جدید
ali salimi
@salim 5 سال پیش مطرح شد
0

اگر ایدی بخای رندوم باشه
بیا از تابع زمان استفاده کن که هیچوقت تکراری نمیشه و هر وقت دیتایی ثبت میشه ایدیش مسلما تکراری نیست.


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 5 سال پیش مطرح شد
0

درود بر شما
ای دی رو کاری نداشته باشید، بزارید به همون شکل باشه اما برای نمایش به کاربر می تونید از slug استفاده کنید و حتما باید از middleware استفاده کنید.
توی آموزش های لارول راکت هم دقیقا همه این موارد توضیح داده شده.


وحید
تخصص : Fullstack
@forughi.vahid 5 سال پیش مطرح شد
0

@moradiemails
میتونید از فیلد دیگه ای برای این کار استفاده کنید ، توجه کنید که این فیلد حتما باید یونیک باشه ، برای بهینه تر بودن سئو ، بهتره از slug استفاده کنید ، برای تولید اسلاگ هم پکیج هایی هست که با سرچ میبینیدشون ، در آخر با هر کدام از این ها که خواستید کار کنید لازمه که route model binding انجام بدید که موقع بایند کردن $post به درستی پر بشه .


صادق مرادی
تخصص : توسعه دهنده لاراول و برنامه نو...
@moradiemails 5 سال پیش مطرح شد
0

@salim
@forughi.vahid @hekmati
ممنون دوستان به خاطر جواب هاتون
بنده هم از slug که گفتید استفاده میکنم
و هم با توجه به این مقاله برای امنیت بیشتر کنترل پنل
https://medium.com/@ikrisnaw/laravel-story-replace-auto-increment-id-with-uuid-8f555bf6f3f
از UUID استفاده کردم
https://github.com/ramsey/uuid


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 5 سال پیش مطرح شد
0

درود بر شما
@moradiemails

ببینید یک روش دیگه که من در حالت پیور ازش استفاده کردم اینه که یک ستون به تیبل اضافه می کنیم برای افزودن به آدرس.
یعنی توی این فیلد یک رشته رندم و یکتا برای دستیابی به ردیف ایجاد میشه بعد در زمان فراخوانی یا نمایش در url این کد یکتا کلید هست و از هیچ متدی پیروی نمیکنه که قابل تشخیص باشه.
می تونید رشته مورد نظر رو از ترکیب چند آیتم هم تولید کنید یعنی حروف و اعداد و تایم و ...


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

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