developer
4 سال پیش توسط developer مطرح شد
6 پاسخ

نمایش br در بلید لاراول

سلام
همه کاربرهام میتونن مقاله منتشر کنند منتهی واسه اینکه br ها و بقیه تگها رو توی بلید لاراول اعمال کنم باید از این استفاده کنم: {!! !!}} که در این صورت ممکنه کاربر با وارد کردن کدهای اسکریپتی سیستم رو هک کنه
راه حل چیه؟

راستی این ویرایشگر سوال ارسال کردن توی راکت رو با چی زدید استاد موسوی؟
@hesammousavi


ثبت پرسش جدید
Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 4 سال پیش آپدیت شد
0

واسه br میتونی از این کد استفاده کنی

{!! nl2br(e($matn)) !!}

developer
تخصص : برنامه نویس
@developer 4 سال پیش مطرح شد
0

بله این رو گفتم توی سوال منتهی کاربر میتونه کد اسکریپت وارد کنه
مثلا
<script>alert('test')</script>


developer
تخصص : برنامه نویس
@developer 4 سال پیش مطرح شد
0

الان همین راکت چجوری اینا رو اجرا میکنه و این کد اسکریپت اجرا نمیشه؟


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 4 سال پیش مطرح شد
0

@developer
عزیز این کدی که من گذاشتم تست شده هست
کاربر نمیتونه اسکریپت وارد کنه !
به شکل یه رشته با کد جاوا اسکریپت برخورد میکنه


علیرضا
@AliRezaa 4 سال پیش مطرح شد
0

من همین سوال رو موقعی که با موضوع مشابهی رو به رو شدم در stackoverfollow پرسیدم تقریباً تنها پاسخشون این بود که باید برای کد Validation بنویسی یعنی بسادگی با کدهای PHP متن رو چک کنی و <script> و تگهای دلخواه رو اجازه ندی.

هرچند یکم برام عجیبه چرا یه Validator اختصاصی در خود PHP یا لاراول وجود نداره. (یا شایدم وجود داره و اطلاع ندارم مثل همین nl2br که دوستمون معرفی کرد ولی کاملتر) . بهرحال بحث امنیت وسطه.


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 4 سال پیش آپدیت شد
0

@developer
@AliRezaa
واسه بقیه تگ ها هم میتونید یه سیستم شخصی بنویسید که فقط تگ های خاصی رو نشون بده و بقیه رو فیلتر کنه .
مثلا با strip_tags .. مسلما پکیج هایی هم نوشته شده واسه اینکار
این یه نمونه کدش

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');

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

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