نمایش نتایج 1 تا 22 از 22

نام تاپیک: مشکل تابع htmlentities با حروف فارسی

  1. #1

    Exclamation مشکل تابع htmlentities با حروف فارسی

    من برای امنیت از تابع htmlentities استفاده می کنم. یکی از دوستان گفت که این تابع ممکنه بعضی از کاراکترهای فارسی رو خراب کنه.

    ایا این موضوع صحت داره؟ برای حل این مشکل باید چیکار کرد؟

  2. #2
    کاربر دائمی آواتار ravand
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    راوند کاشان
    پست
    3,378

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    اين كد رو ببين دو تا خروجي بهت ميده . يه بار مقدار علي رو با utf-8 نوشتم و يه بارم بدون utf-8
    <?php
    $str = "علي";
    echo htmlentities($str, ENT_QUOTES, "UTF-8");
    echo "<br>";
    echo htmlentities($str);
    ?>

    خروجي :
    علي
    ع��

  3. #3
    کاربر دائمی آواتار mbf5923
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    vb.NET-قسمت کد ویو-لاین هفتم
    سن
    36
    پست
    595

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    کار این htmlentities چی هست؟
    تا حالا در موردش نشنیده بودم

  4. #4
    کاربر دائمی آواتار ravand
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    راوند کاشان
    پست
    3,378

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    ببين چجوري ازش استفاده شده يه سرچي در موردش بزن:
    $name=htmlentities($_POST['name']);
    $title=htmlentities($_POST['title']);

  5. #5

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    اين كد رو ببين دو تا خروجي بهت ميده . يه بار مقدار علي رو با utf-8 نوشتم و يه بارم بدون utf-8
    اونطور که شنیدم وقتی توی این تابع از utf-8 هم استفاده کنیم بازم ممکنه با بعضی کاراکترهای فارسی مشکل پیدا کنه.

  6. #6
    کاربر دائمی آواتار ravand
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    راوند کاشان
    پست
    3,378

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    چيزي نيست دادا . مگه ما چند تا كاراكتر فارسي داريم؟ همه رو امتحان كن ببين مشكل پيدا ميكنه يا نه؟

  7. #7

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    سایر دوستان نظری ندارن؟

  8. #8
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    htmlentities و htmlspecialchars برای برقراری امنیت از واجبات کد نویسی هستند و هیچ مشکلی با فارسی ندارند به شرطی که با UTF-8 Encoding استفاده بشوند.

  9. #9

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    htmlentities و htmlspecialchars برای برقراری امنیت از واجبات کد نویسی هستند و هیچ مشکلی با فارسی ندارند به شرطی که با UTF-8 Encoding استفاده بشوند.
    با توجه به این نکته منم هرجا کوچکترین نکته امنیتی وجود داشته باشه از این دوتابع استفاده می کنم. آیا با استفاده از این توابع می تونیم خیال خودمون رو راحت کنیم و نگران امنیت رشته های ورودی نباشیم؟

  10. #10

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    نقل قول نوشته شده توسط ravand مشاهده تاپیک
    خروجي :
    علي
    ع��
    مطمئن هستید یونیکد صفحتون utf-8 هستش؟ من مطمئمن نیستم

  11. #11
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    من فکر کنم شما منظور من را بد فهمیدین ! منظور من امنیت در زمان نمایش بود نه در زمان ذخیره در دیتابیس ! htmlentities و htmlspecialchars امنیت کاملی برای درج اطلاعات در Database به وجود نمیارن ، شما باید escape کنی رشته ها را یا با PDO به صورت parameterized کار کنی تا امنیت درج اطلاعات انجام بشه ! برای نمایش هست که باید از htmlentities و htmlspecialchars استفاده کنین که xss و غیره براتون مشکل ساز نشه !

  12. #12

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    به نظرم هنگام ذخیره از این کد استفاده کن :
    $title=mysql_real_escape_string($_POST['title']);
    $title=htmlspecialchars($title, ENT_QUOTES);

    هنگام نمایش هم مستقیم از دیتابیس بکش بیرون

    برای text و ادیتور هم بهتره از HTMLPurifier استفاده کنی
    اینم دستوراتش :
    require_once 'htmlpurifier-4.3.0/library/HTMLPurifier.auto.php';
    $config = HTMLPurifier_Config::createDefault();
    $config->set('Cache.DefinitionImpl', null);
    $purifier = new HTMLPurifier($config);

    $text=$_POST['text'];
    if(get_magic_quotes_gpc())
    $text=stripcslashes($text);
    $text = $purifier->purify($text);
    $text=mysql_real_escape_string($text);


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

  13. #13

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    به نظرم هنگام ذخیره از این کد استفاده کن :
    من هم دقیقا همین کار رو می کنم.
    برای text و ادیتور هم بهتره از HTMLPurifier استفاده کنی
    برای ادیتورها از این کلاس استفاده می کنم. اما یه سوال:
    چطور می تونم توی HTMLPurifier کاری کنم که بغیر از یوتوب بشه فایلهای چند رسانه ای از سایر سرورها اجازه عبور از فیلتر داشته باشن؟

  14. #14

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    توی خود سایت HTMLPurifier آموزش داده چطوری لیست سیاه و سفید ایجاد کنی

  15. #15

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    توی خود سایت HTMLPurifier آموزش داده چطوری لیست سیاه و سفید ایجاد کنی
    من چند روز قبل طبق همون انجام دادم ولی ارور داد !
    می شه یه نمونه کد بهم بدید؟

  16. #16

    نقل قول: مشکل تابع htmlentities با حروف فارسی

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

  17. #17

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    والله من تاحالا دنبال لیست سیاهش نبودم
    لیست سفیدش چطور؟

  18. #18

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    اینو به کدت اضافه کن :
    $config->set('Filter.YouTube', false);

  19. #19

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    اینو به کدت اضافه کن :
    این کد رو الان استفاده می کنم. اما فرض کنید که بخوام چندتا وب سایت رو جز لیست سفید قرار بدم تا فایلهای چند رسانه ای این وب سایتها اجازه عبور از فیلتر رو داشته باشن.

    برای بقیه وب سایتها باید چیکار کنم؟

  20. #20

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    اینو من برای لیست سیاه دادم

  21. #21

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    من هم این مشکل رو دارم
    اما در این کد که متن فارسی در پیامک ارسال شده بصورت D6%H8% در میاد





    <recipient mobile="'.$to.'" originator="'.$from.'" doerid="8" >'.htmlentities($text).'</recipient>





    لطفا منو مستفیض نمایید
    آخرین ویرایش به وسیله m_mili_k : یک شنبه 07 مرداد 1397 در 22:42 عصر

  22. #22

    نقل قول: مشکل تابع htmlentities با حروف فارسی

    خودم حلش کردم






    <recipient mobile="'.$to.'" originator="'.$from.'" doerid="8" >'.urldecode($text).'</recipient>





قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •