صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 24

الموضوع: كيفية إستعمال دالة ()htmlentities + استفسار

  1. #1
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105

    كيفية إستعمال دالة ()htmlentities + استفسار



    أولا أبرمج في سكريبت و حتى يتم حماية الثغرات يلجأ البعض إلى منع مثل هذه الكلمات

    كود PHP:
    javascript java meta script.... 


    و لكن أنا لا أريد منعها أو تعويضها بكلمات أخرى, أنا أريد أنه عند استعمالها في مواضيع السكريبت لا تشتغل , و فكرت في استعمال دالة ()htmlentities فهل هي جيدة في هذا و هل هناك حلول أخرى تنصحونني بها







  2. #2


    نعم الدالة اللي انت ذكرتها جميلة جدا في الحماية من اكواد الهتمل والجافاسكربت

    لأنه تقوم بطباعة الاكواد التي توضع ككلام عادي كانك كتبت اسمك

    تحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

  3. #3
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105


    نعم أعلم, لكن هل يمكنني تخصيص الدالة فقط في كلمات و أكواد معينة و ليس في كافة الموضوع
    لأنني لا أريد استعمال الدالة و خصوصاً في نصوص عربية لأنها تحول كل حرف عربي إلى 4 رموز و بالتالي
    ستتضاعف كمية البيانات المخزنة إلى 4 أضعاف.






  4. #4


    يمكنك ذلك بالتعابيير القياسية وللأسف لا اعرف عنها اي شيء للان

    تحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

  5. #5
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105


    مشكور وبانتضار الخبراء






  6. #6


    الحل الي يحضرني الآن هو التعبير المنتظم:

    كود PHP:
    $stringAfterFilter=preg_replace("/(script|meta|alert|stylesheet|iframe|document|http-equiv)/i","*******",$yourString); 
    بالرغم انه قد يسبب حمل ع السيرفر.
    لكن اذا كان السكربت شخصي لموقعك وليس للبيع فالأفضل أن عملية الفلترة تتم على مستوى الويب سيرفر باستخدام مود سكيورتي.

    وفقك الله





    __________________
    مجتمع حرس الأمني في خدمة الجميع

  7. #7
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105


    أنت تقصد بتعويض الكلمات برموز, و لكن هذا نفس ما فعلته للحماية
    و لكن في السكريبت يحتاج الزوار و الأعضاء إلى كتابة كودات مثل جافا و ميتا و لهذا
    لا أريد منعها أريد فقط جعلها دون تنشيط و وجدت هذه الدالة ()htmlentities
    لكن لم أعرف كيف أجعلها تخصص للعمل فقط مع تلك الأكواد الخبيثة و ليس النص بأكمله, لأنه عند اشتغالها في النص بأكمله ستقوم بتحول حرف من اللغة العربية لأربع رموز و هذا سيجعل تضاعف البيانات.






  8. #8
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    63


    جرب هذه الطريقة يمكن تنفع معاك

    كود PHP:
    <?php 
    $tag   
    = array('<script','<meta','<base'); 
    $replace = array('&lt;script','&lt;meta','&lt;meta'); 
    $text    '<script><base href="http://www.swalif.net/softs/" />  '
    $text    str_ireplace($tag,$replace,$text); 
    echo 
    $text
    ?>
    طبعاً هي دالة استبدال النصوص ولكن باستخدام مصفوفتين
    واحدة فيها النصوص اللي تبي تستبدلها والمصفوفة الثانية النصوص اللي تبيها تظهر

    طبعا الدالة لا تفرق معها الاحرف كبيرة أو صغير طبعاً نضع بدل بداية الوسم وهو < الرمز التالي &lt;

    ولكن لاتعمل الا على php5 على حسب علمي






  9. #9


    أنت تقصد بتعويض الكلمات برموز, و لكن هذا نفس ما فعلته للحماية
    و لكن في السكريبت يحتاج الزوار و الأعضاء إلى كتابة كودات مثل جافا و ميتا و لهذا
    لا أريد منعها أريد فقط جعلها دون تنشيط و وجدت هذه الدالة ()htmlentities
    لكن لم أعرف كيف أجعلها تخصص للعمل فقط مع تلك الأكواد الخبيثة و ليس النص بأكمله, لأنه عند اشتغالها في النص بأكمله ستقوم بتحول حرف من اللغة العربية لأربع رموز و هذا سيجعل تضاعف البيانات.
    المعذرة تسرعت.

    يكفي لك ان تعطل وسم الفتح والاغلاق ليتعطل تنفيذ الكود, جرب :
    كود PHP:
    $regex[0]="/</";
    $regex[1]="/>/";
    $replacement[0]="&lt;";
    $replacement[1]="&gt;";
        
    $theText=preg_replace($regex,$replacement,$theText); 






    __________________
    مجتمع حرس الأمني في خدمة الجميع

  10. #10
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105


    مشكورين أخوي, و لكن عند الظهور هل سيظهر الكود عادي و هل هناك إمكانية لإستخدام دالة htmlentities
    فقط على أكواد المدمرة التي تدخل للقاعدة و ليس على النص كاملا.





    التعديل الأخير تم بواسطة soptimes.com ; 26-06-2010 الساعة 03:42 PM

  11. #11
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105

    Cool



    مشكورين جميعاً على مساعداتكم
    أنا وصلت إلى هذه النتيجة

    كود PHP:
     $tag   = array('<script','<meta','<base','/</','/>/'); 
        
    $replace = array('&lt;script','&lt;meta','&lt;base','&lt;','&gt;'); 
        
    $message    str_ireplace($tag,$replace,$message); 
    و نجحت معي, لكن هل هذا كافي للحماية و هل هناك أي نقص في الحماية, لأنني أخاف أن يتم تجاوز هذا الإستعلام باستخدام أكواد أخرى






  12. #12


    مشكورين جميعاً على مساعداتكم
    أنا وصلت إلى هذه النتيجة

    كود PHP:
     $tag   = array('<script','<meta','<base','/</','/>/'); 
        
    $replace = array('&lt;script','&lt;meta','&lt;base','&lt;','&gt;'); 
        
    $message    str_ireplace($tag,$replace,$message); 
    و نجحت معي, لكن هل هذا كافي للحماية و هل هناك أي نقص في الحماية, لأنني أخاف أن يتم تجاوز هذا الإستعلام باستخدام أكواد أخرى
    انا فقط كتبت ما طلبته من حل, اما اذا جينا ع الحماية (واظنك قصدت بالتحديد xss) فكل ما كتب هنا لا يقدم المستوى المطلوب في الحماية

    1- انت ذكرت ثلاث تعليمات '<script','<meta','<base', اقدر اتخطاك مثلا بهذه:
    <img src=x onerror=alert(/xss hacking/) />
    -اي وسم html + event كافي لتنفيذ الثغرة

    2- حمايتك على كود الفتح, اقدر اتخطاك بكود الاغلاق:
    </br<img src=x onerror=alert(/xss hacking/)//>

    3- بالرغم ان ترميز <> كافي لحماية جيدة لكن نقدر نتخطاها بهذه :
    " onevent=alert(/xss hacking/) x="

    htmlentities كفيل باول حالتين, وفي ردي السابق بديل عنها وجيدة لمشكلتك

    موفق





    __________________
    مجتمع حرس الأمني في خدمة الجميع

  13. #13
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    63


    إذا تبي نصيحة لحماية النصوص استخدم bbcode وعطل جميع اكواد html باستخدام htmlspecialchars





    التعديل الأخير تم بواسطة محمد عقيلي ; 27-06-2010 الساعة 01:34 PM

  14. #14
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105

    Unhappy



    انا فقط كتبت ما طلبته من حل, اما اذا جينا ع الحماية (واظنك قصدت بالتحديد xss) فكل ما كتب هنا لا يقدم المستوى المطلوب في الحماية

    1- انت ذكرت ثلاث تعليمات '<script','<meta','<base', اقدر اتخطاك مثلا بهذه:
    <img src=x onerror=alert(/xss hacking/) />
    -اي وسم html + event كافي لتنفيذ الثغرة

    2- حمايتك على كود الفتح, اقدر اتخطاك بكود الاغلاق:
    </br<img src=x onerror=alert(/xss hacking/)//>

    3- بالرغم ان ترميز <> كافي لحماية جيدة لكن نقدر نتخطاها بهذه :
    " onevent=alert(/xss hacking/) x="

    htmlentities كفيل باول حالتين, وفي ردي السابق بديل عنها وجيدة لمشكلتك

    موفق

    أنا استعملت ما ذكرته باستعمالي لوسمي الإغلاق و الفتح و كذلك إستعملت الميتا أنظر هنا

    كود PHP:
    $tag   = array('<script','<meta','<base','/</','/>/'); 
        
    $replace = array('&lt;script','&lt;meta','&lt;base','&lt;','&gt;'); 
        
    $message    str_ireplace($tag,$replace,$message); 
    أنا أعرف أن htmlentities هو الحل الجيد و لكن المشكل الذي يوجد به أنه تلك الدالة تحول اللغة العربية كل حرف ب 4 رموز و تصور معي كم ستصبح قاعدة البيانات كبيرة, لذلك استعملت الحل الذي أعطيتني و ها أنت تقول أنه غي كافي. أتمنى أن تبحث معي عن دالة تكون الحل النهائي و جزاك الله خيراً فأنا جربت ألف طريقة و لحد الساعة لم أجد حل سوى الرجوع للحل التقليدي و منع جميع الكلمات الضارة و تعويضها برموز و هذا هو الذي لا أريده.

    و بالنسبة لإستخدام bbcode يلزمني محرر جيد لهذا الغرض فأنا أستعمل محرر html






  15. #15
    Banned
    تاريخ التسجيل
    Apr 2010
    المشاركات
    105


    هل يمكن حل المشكل بتعويض " ب &quot;










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض