راکت

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

6 پاسخ

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

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

ثبت پرسش جدید

پاسخ‌ها

6
Reza Jashnsaz
Reza Jashnsaz
@rezajashnsaz0011

تخصص: مهندس نرم افزار

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

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

تخصص: برنامه نویس

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

شاید پاسخ شما همین‌جا باشد

developer
developer
@developer

تخصص: برنامه نویس

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

Reza Jashnsaz
Reza Jashnsaz
@rezajashnsaz0011

تخصص: مهندس نرم افزار

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

علیرضا
علیرضا
@AliRezaa

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

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

Reza Jashnsaz
Reza Jashnsaz
@rezajashnsaz0011

تخصص: مهندس نرم افزار

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

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

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

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