الدالة addslashes() في PHP
(PHP 4, PHP 5, PHP 7)
تضيف الدالة addslashes() الخطوط المائلة العكسية (backslashes).
الوصف
string addslashes (string $str).
تُعيد الدالة سلسلةً نصيةً تسبقها خطوط مائلة عكسية (backslashes) قبل المحارف المُراد تهريبها. تتمثل هذه المحارف فيما يلي:
- علامات الاقتباس المفردة (')
-علامات الاقتباس المزدوجة (")
-الخطوط المائلة العكسية (\)
- NUL (البايت NUL)
تستخدم الدالة addslashes() لتهريب أحد المحارف المذكورة آنفًا داخل كود برمجي بلغة PHP:
<?php
$str = "O'Reilly?";
eval("echo '" . addslashes($str) . "';");
?>
قبل نسخة 5.4.0 للغة PHP، كانت ميزة magic_quotes_gpc مُفَعلة تلقائيًا، إذ تُطَبق الدالة addslashes() على كل من الدوال GET و POST و COOKIE. لذلك تجنب استخدام addslashes() على سلسلة نصية طُبِقَت عليها magic_quotes_gpc من قبل وإلا فإن السلسلة النصية ستُهرَب مرتين. تسمح الدالة magic_quotes_gpc() بالتحقق من الميزة magic_quotes_gpc إن كانت مفعلة أو لا.
يستعمل البعض الدالة addslashes() خطأً لمنع «حقن شيفرات SQL» أي SQL Injection. بدلًا من ذلك ينبغي استعمال الدوال الخاصة بالسلاسل النصية لقواعد البيانات.
المعاملات
str
السلسلة النصية التي نريد تهريبها.
أمثلة
المثال 1: مثال بسيط عن الدالة addslashes()
<?php
$str = "Is your name O'Reilly?";
// Is your name O\'Reilly?
echo addslashes($str);
?>
انظر أيضًا
- stripcslashes(): حذف الخطوط المائلة العكسية التي أضيفت بواسطة الدالة addcslashes().
- stripslashes(): حذف الخطوط المائلة العكسية.
- addcslashes(): تهريب سلسلة نصية بإستعمال الخطوط المائلة العكسية على نمط لغة C.
- htmlspecialchars(): تحويل المحارف الخاصة مدخلات HTML.
- quotemeta(): اقتباس المحارف الخاصة.
- get_magic_quotes_gpc(): تتفقد حالة magic_quotes_gpc إن كانت مفعلةً أم لا.
مصادر
- صفحة الدالة addslashes في توثيق PHP الرسمي.