رفتن به مطلب

جلوگیری از اجرای اسکریپت در فرم نظرات وردپرس


پست های پیشنهاد شده

با سلام خدمت دوستان عزیز

قالب سایتی طراحی کردم در قسمت کامنت های قالب زمانی که دیدگاهی رو ارسال می کنم اگر اسکریپت هم ارسال بشه هیچ sanitize یی از جانب وردپرس اعمال نمیشه و اسکریپت ارسال میشه و بعد از ثبت نظر همون اسکریپت اجرا میشه به عنوان مثال اگر یک alert در فرم با جاوااسکریپت ارسال بشه بعد از ارسال اجرا میشه آیا این طبیعی هستش در وردپرس؟ یا راه حلی برای strip یا addslash کردن ورودی کاربر داره در صورت امکان راهنمایی کنید

با تشکر

لینک به ارسال
در 42 دقیقه قبل، poolmaster گفته است :

سلام این کار رو قبلا کردم تاثیری نداشت متاسفانه!!!

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

$str = '<a href="http://example.com/">Example</a>';
echo sanitize_textarea_field($str); // Example

 

لینک به ارسال

درسته این تابع رو با اعمال فیلتر به comment_text انجام دادم و از کدهای html جلوگیری کرد اما الان یه مشکلی هست که اگر کاربر برای رفع اشکال کد html ارسال کنه اصلا نمایش داده نمیشه راهی هست که فقط بشه از اجرای اسکریپت جلوگیری کرد؟

اصلا مگه خود وردپرس ورودی های خطرناک رو نباید به طور خودکار در فیلد ارسال کامنت فیلتر کنه؟

لینک به ارسال

درود مجدد

 

نقل قول

اصلا مگه خود وردپرس ورودی های خطرناک رو نباید به طور خودکار در فیلد ارسال کامنت فیلتر کنه؟

والا من دقیقا کدهای فرآیند ارسال کامنت به دیتابیس رو به خطار ندارم که اونجا Sanitize انجام میشه یا نه.

ولی میتونید از wp_kses_post هم استفاده کنید این تابع فک کنم HTML ها نگه میداره ولی اونایی رو که باعث ایجاد باگ XSS میشن رو حذف میکنه.

 

موفق باشید

لینک به ارسال

با تشکر از شما بله با این تابع مشکل حل شد راه حل رو هم برای دوستان قرار می دم اگر کسی مشکل مشابهی داشت حل بشه کد زیر رو در فانکشن قالبتون کپی کنید

بازم ممنونم بابت راهنمایی و کمکتون 

موفق باشید

function sanitize_comment( $comment_text ) {
    $comment_text = wp_kses_post($comment_text);
    return $comment_text;
}
add_filter( 'comment_text', 'sanitize_comment' );

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...