سلام از تابع زیر استفاده کنین تگ ها رو از بین میبره :
strip_tags()@behzadi
ممنون از شما
کدوم قسمت باید وارد کنم ؟
شاید پاسخ شما همینجا باشد
جایی که دارید اطلاعات رو از کاربر میگیرید
شما اطلاعات کار بر رو بهش پاس میدین مثلا نام رو بعدش اون میاد تگ های html رو ازش ور میداره بعد میتونین اون رو در یک متغیر بریزین و ازش استفاده کنین
تخصص: برنامهنویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
سلام می توانید از تابع htmlspecialchars استفاده کنید. مانند:
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
این تابع html رو به یکسری special character ها تبدیل می کند و این کاراکتر ها توسط مرورگر اجرا نمی شوند.
اگر از لاراول استفاده می کند در بلید به این صورت استفاده کنید دیگر این خطا حل می شود.
{{ $value }}
بله از لاراول استفاده میکنم
کدوم قسمت باید از این مقدار استفاده کنم ؟ داخل input ها ؟
{{ $value }}
تخصص: برنامهنویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
نه وقتی که دارید نمایش می دهید به این شکل :{{ $user->name }} البته 99 درصد اوقات از این روش استفاده می شود ( فقط وقتی از نوع نمایش {!! !!} استفاده می کنیم که دارید از ادیتوری مثل ckeditor استفاده می کنیم).
موقع نمایش بله میدونم
فقط مشکلی وجود نداره کاربر به این شکل ثبت نام کنه ؟
نباید خطایی برای کاربر فرستاده شه؟
تخصص: برنامهنویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
به سختی میشه از ورود این اطلاعات به دیتابیس جلو گیری کرد مهم بی اثر کردن این نوع از حملات هست بعد ادمین وقتی می بینه یکسری کاراکتر بی معنی هست می فهمه کاربر الکی هست. بعد می تواند حذف کند یا یک ایمیل از طرف پشتیبانی به کاربر برای اعتبار سنجی ایمیل بفرستد.
@wxyz
@websaz
خیر دوست عزیز
ممکن است حملات xxs صورت بگیرد . و کاربر script های خطرناکی را بنویسد و به نوعی تزریق کد انجام دهد .
تنها راهش راهش هم استفاده از htmlspecialchars و مشابه آن است ...
خب دوست عزیز اگه نمیخای این اطلاعات وارد دیتابیس بشن از همون تابع که گفتم استفاده کن!!!!
چجوری میشه جلوی حملات xxs رو گرفت ؟
@gomnam
تخصص: برنامهنویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
@gomnam
وقتی در لاراول هیچ چیزی به جز یکسر کاراکتر مثل <a href='test'>Test</a> نمایش داده می شه xss وجود ندارد.
@behzadi
توی لاراول کدوم قسمت باید اضافه کنم ؟
بلید یا کنترلر ؟
@behzadi
توی لاراول کدوم قسمت باید اضافه کنم ؟
بلید یا کنترلر ؟
@websaz
بله در لاراول مشکلی پیش نمیاد ...
تخصص: برنامهنویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
لاراول از همه ی باگ ها بجز اشتباهات برنامه نویس ها جلو گیری می کنه . شما سعی کنید طبق مستندات لاراول جلو برید و سعی کنید تا حد امکان از خطای انسانی جلوگیری کنید.
@wxyz
دوست عزیز شما وقتی دیتا رو از کاربر میگیری اون رو داخل یک متغیر به نامه مثلا $data ریختی بعد این رو بریز تو تابع
strip-tags($data)
وقتی این کار رو کردی دوباره این ها رو بریز تو $data و این الان دیتای اورجینال هستش و این رو بریز تو دیتابیس
تخصص: برنامهنویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
@behzadi این روش برای از بین بردن چند تگ html هست و امنیت کاملی ندارد. سایت راکت ( به دلیل استفاده از لاراول ) از همین سیستم استفاده می کند پس اگر من یک کد html اینجا وارد کنم به شکل متن در می اید.