الفرق بين المراجعتين لصفحة: «PHP/addslashes»
طلا ملخص تعديل |
لا ملخص تعديل |
||
سطر 24: | سطر 24: | ||
== المعاملات == | == المعاملات == | ||
=== str === | === <code>str</code> === | ||
السلسلة النصية التي نريد تهريبها. | السلسلة النصية التي نريد تهريبها. | ||
المراجعة الحالية بتاريخ 15:25، 5 أبريل 2018
(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
إن كانت مفعلةً أم لا.