poolmaster 17 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 با سلام خدمت دوستان عزیز قالب سایتی طراحی کردم در قسمت کامنت های قالب زمانی که دیدگاهی رو ارسال می کنم اگر اسکریپت هم ارسال بشه هیچ sanitize یی از جانب وردپرس اعمال نمیشه و اسکریپت ارسال میشه و بعد از ثبت نظر همون اسکریپت اجرا میشه به عنوان مثال اگر یک alert در فرم با جاوااسکریپت ارسال بشه بعد از ارسال اجرا میشه آیا این طبیعی هستش در وردپرس؟ یا راه حلی برای strip یا addslash کردن ورودی کاربر داره در صورت امکان راهنمایی کنید با تشکر نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 سلام و درود متن کامنت رو از تابع sanitize_textarea_field عبور بدید قبل از اینسرت در دیتابیس. موفق باشید 1 نقل قول لینک به ارسال
poolmaster 17 ارسال شده در بهمن 96 مالک گزارش بازنشر ارسال شده در بهمن 96 سلام این کار رو قبلا کردم تاثیری نداشت متاسفانه!!! نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 در 42 دقیقه قبل، poolmaster گفته است : سلام این کار رو قبلا کردم تاثیری نداشت متاسفانه!!! شما وقتی رشته ای که به عنوان متن دیدگاه ارسال شده رو از تابع فوق عبور بدی هیچ تگ HTML ای نمیمونه توی کامنت. $str = '<a href="http://example.com/">Example</a>'; echo sanitize_textarea_field($str); // Example 1 نقل قول لینک به ارسال
poolmaster 17 ارسال شده در بهمن 96 مالک گزارش بازنشر ارسال شده در بهمن 96 درسته این تابع رو با اعمال فیلتر به comment_text انجام دادم و از کدهای html جلوگیری کرد اما الان یه مشکلی هست که اگر کاربر برای رفع اشکال کد html ارسال کنه اصلا نمایش داده نمیشه راهی هست که فقط بشه از اجرای اسکریپت جلوگیری کرد؟ اصلا مگه خود وردپرس ورودی های خطرناک رو نباید به طور خودکار در فیلد ارسال کامنت فیلتر کنه؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 درود مجدد نقل قول اصلا مگه خود وردپرس ورودی های خطرناک رو نباید به طور خودکار در فیلد ارسال کامنت فیلتر کنه؟ والا من دقیقا کدهای فرآیند ارسال کامنت به دیتابیس رو به خطار ندارم که اونجا Sanitize انجام میشه یا نه. ولی میتونید از wp_kses_post هم استفاده کنید این تابع فک کنم HTML ها نگه میداره ولی اونایی رو که باعث ایجاد باگ XSS میشن رو حذف میکنه. موفق باشید 1 نقل قول لینک به ارسال
poolmaster 17 ارسال شده در بهمن 96 مالک گزارش بازنشر ارسال شده در بهمن 96 با تشکر از شما بله با این تابع مشکل حل شد راه حل رو هم برای دوستان قرار می دم اگر کسی مشکل مشابهی داشت حل بشه کد زیر رو در فانکشن قالبتون کپی کنید بازم ممنونم بابت راهنمایی و کمکتون موفق باشید function sanitize_comment( $comment_text ) { $comment_text = wp_kses_post($comment_text); return $comment_text; } add_filter( 'comment_text', 'sanitize_comment' ); 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .