الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن الدالة addslashes

بدأه mjxp7 في 29 أكتوبر 2013 · 10 رد · 1,038 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل استخدام الدالة addslashes ضروري للحماية في الاصدارات الحديثة من php ؟

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#2

دالة addslashes ليست للحماية، بل تستخدم عندما تريد مثلاً تحويل نصّ من php إلى javascript كما في المثال:

<?php
$msg = "Hello this's \"PHP\"!";
?>
<!DOCTYPE html>
<head>
  <meta charset="utf-8">
  <title>مثال</title>
</head>
<body>
  <script>
  var msg = "<?php echo addslashes($msg) ?>";
  alert(msg);
  </script>
</body>
</html>

 

ستولد:

 

<!DOCTYPE html>
<head>
  <meta charset="utf-8">
  <title>مثال</title>
</head>
<body>
  <script>
  var msg = "Hello this\'s \"PHP\"!";
  alert(msg);
  </script>
</body>
</html>

لاحظ إضافة \ على علامات التنصيص، بدونها قد يحدث خطأ في كود javascript.

 

من php 5.2 فما فوق أضيفت الدالة json_encode وميزتها أنها تغنيك عن إضافة علامتي التنصيص يدوياً، بدل أن تكتب:

var msg = "<?php echo addslashes($msg) ?>";

أصبح إماكنك كتابة:

var msg = <?php echo json_encode($msg) ?>;
#3

للاجابة على سؤالك , لا ليست ضرورية لان هناك ادوات كثير تستخدمها للحماية , تلك الادوات تختلف تبعا لطريقة عمل الكود الخاص بك

1

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#4

شكرا للرد و المثال سيد Mr.B

 

 

سيد Hamdan Taima هل يوجد مثال او رابط يوضح أمثلة عن الادوات الأخرى ؟

استخدم الدالة لحماية المتغيرات قبل استخدامها بالاستعلامات

1

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#5

تمام ,

مثال بسيط , لو أردت ان تحمي المتغير من هجمات الـ SQL INJECTION  سنستخدم دالة

 mysql_real_escape_string($string)

مثال آخر , لو أردت ان تتأكد ان المتغير دائما يكون عبارة عن رقم صحيح , نقوم بعمل كاست له قبل الشروع في استخدامه مثلا،

(int)$mynumber;

مثال آخر ايضاً ,

لو تريد حماية المتغير من هجمات XSS

نقوم باستخدام دالة htmlentities  او دالة htmlspecialchars

 

طبعا هناك طرق كثيرة لكن تذكر , ان نوع المخاطرة الآمنية للمتغير هو ما يفرض اسلوب الحماية

 

هناك الكثير الكثير جدا من الثغرات الامنية , التي يجب على كل مبرمج محترف ان يكون ملما بها.

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#6

لكن الدالة mysql_real_escape_string سيتم ايقافها قريباً.

#7

صحيح

اعتقد ان الدالة mysql_real_escape_string

سيتم ايقافها

http://php.net/manual/en/function.mysql-real-escape-string.php

 

على كل حال شكرا للرد

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#8
mazenwrq كتب:

لكن الدالة mysql_real_escape_string سيتم ايقافها قريباً.

 

 

mjxp7 كتب:

صحيح

اعتقد ان الدالة mysql_real_escape_string

سيتم ايقافها

http://php.net/manual/en/function.mysql-real-escape-string.php

 

على كل حال شكرا للرد

- لأنها ضمن دوال  MySql التي سيتم إيقاف العمل بها , وعلى الراغبين في التحويل عليهم إختيار العمل بـ MySqli أو PDO .

- نفس الدالة موجودة في الإصدار MySqli باسم mysqli_real_escape_string .

1

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#9

نعم في PHP 5.5 سيتم ايقافها ,

فور اصدارها سنقوم بتحديث جميع السكريبتات و البرمجيات التي عملنا عليها لسنين :)

سنقوم باستخدام mysqli_real_escape_string()  او PDO

 

من الجميل ان نتابع التحديثات المستمرة لـ PHP لذلك من المفضل دائما التخطيط مسبقاً لجعل التعديلات والترقيعات المواكبة للتحديثات سهلة

1

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#11

معلومة جميلة

شكرا للردود

تم تعديل هذه المشاركة بواسطة mjxp7 في 3 نوفمبر 2013 في 02:10

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

مواضيع مشابهة