الفرق بين المراجعتين ل"PHP/addslashes"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة)
 
(3 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة addslashes()‎ في PHP }}</noinclude>
+
<noinclude>{{DISPLAYTITLE:الدالة <code>addslashes()‎</code> في PHP}}</noinclude>
 
 
 
(PHP 4, PHP 5, PHP 7)
 
(PHP 4, PHP 5, PHP 7)
  
تضيف الدالة addslashes()‎ الخطوط المائلة العكسية (backslashes).
+
تضيف الدالة <code>addslashes()‎</code> الخطوط المائلة العكسية (backslashes).
  
=== الوصف ===
+
== الوصف ==
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
 
string addslashes (string $str).  
 
string addslashes (string $str).  
  
 
</syntaxhighlight>تُعيد الدالة سلسلةً نصيةً تسبقها خطوط مائلة عكسية (backslashes) قبل المحارف المُراد تهريبها. تتمثل هذه المحارف فيما يلي:  
 
</syntaxhighlight>تُعيد الدالة سلسلةً نصيةً تسبقها خطوط مائلة عكسية (backslashes) قبل المحارف المُراد تهريبها. تتمثل هذه المحارف فيما يلي:  
 
+
* علامات الاقتباس المفردة (')
- علامات الاقتباس المفردة (')
+
* علامات الاقتباس المزدوجة (")
 
+
* الخطوط المائلة العكسية (\)
-علامات الاقتباس المزدوجة (")
+
* NUL (البايت NUL)
 
+
تستخدم الدالة <code>addslashes()‎</code> لتهريب أحد المحارف المذكورة آنفًا داخل كود برمجي بلغة PHP:<syntaxhighlight lang="php">
-الخطوط المائلة العكسية (\)
 
 
 
- NUL (البايت NUL)
 
 
 
تستخدم الدالة addslashes()‎ لتهريب أحد المحارف المذكورة آنفًا داخل كود برمجي بلغة PHP:<syntaxhighlight lang="php">
 
 
<?php
 
<?php
 
 
$str = "O'Reilly?";
 
$str = "O'Reilly?";
 
 
eval("echo '" . addslashes($str) . "';");
 
eval("echo '" . addslashes($str) . "';");
 
 
?>
 
?>
 +
</syntaxhighlight>قبل نسخة 5.4.0  للغة PHP، كانت ميزة <code>magic_quotes_gpc</code> مُفَعلة تلقائيًا، إذ تُطَبق الدالة <code>addslashes()‎</code> على كل من بيانات GET و POST و COOKIE. لذلك تجنب استخدام <code>addslashes()‎</code> على سلسلة نصية  طُبِقَت عليها <code>magic_quotes_gpc</code> من قبل وإلا فإن السلسلة النصية ستُهرَب مرتين. تسمح الدالة <code>[[PHP/magic quotes gpc|magic_quotes_gpc()‎]]</code> بالتحقق من الميزة <code>magic_quotes_gpc</code> إن كانت مفعلة أم لا.
  
 +
يستعمل البعض الدالة <code>addslashes()‎</code> خطأً لمنع «حقن شيفرات SQL» أي SQL Injection. بدلًا من ذلك ينبغي استعمال الدوال الخاصة بالسلاسل النصية لقواعد البيانات.
  
</syntaxhighlight>قبل نسخة 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. بدلًا من ذلك ينبغي استعمال الدوال الخاصة بالسلاسل النصية لقواعد البيانات.
+
=== <code>str</code> ===
 
 
=== المعاملات ===
 
 
 
==== str ====
 
 
السلسلة النصية التي نريد تهريبها.
 
السلسلة النصية التي نريد تهريبها.
  
=== أمثلة ===
+
== أمثلة ==
 
+
المثال 1: مثال بسيط عن الدالة <code>addslashes()‎</code><syntaxhighlight lang="php">
==== المثال 1: مثال بسيط عن الدالة addslashes()‎ ====
 
<syntaxhighlight lang="php">
 
 
<?php
 
<?php
 
 
$str = "Is your name O'Reilly?";
 
$str = "Is your name O'Reilly?";
 
 
// Is your name O\'Reilly?
 
// Is your name O\'Reilly?
 
 
echo addslashes($str);
 
echo addslashes($str);
 
 
?>
 
?>
 
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== انظر أيضًا ===
+
== انظر أيضًا ==
* stripcslashes()‎: حذف الخطوط المائلة العكسية التي أضيفت بواسطة الدالة addcslashes()‎.
+
* <code>[[PHP/stripcslashes|stripcslashes()‎]]</code>: حذف الخطوط المائلة العكسية التي أضيفت بواسطة الدالة <code>[[PHP/addcslashes|addcslashes()‎]]</code>.
* stripslashes()‎: حذف الخطوط المائلة العكسية.
+
* <code>[[PHP/stripslashes|stripslashes()‎]]</code>: حذف الخطوط المائلة العكسية.
* addcslashes()‎: تهريب سلسلة نصية بإستعمال الخطوط المائلة العكسية على نمط لغة C.
+
* <code>[[PHP/addcslashes|addcslashes()‎]]</code>: تهريب سلسلة نصية بإستعمال الخطوط المائلة العكسية على نمط لغة C.
* htmlspecialchars()‎: تحويل المحارف الخاصة مدخلات HTML.
+
* <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code>: تحويل المحارف الخاصة مدخلات HTML.
* quotemeta()‎: اقتباس المحارف الخاصة.
+
* <code>[[PHP/quotemeta|quotemeta()‎]]</code>: اقتباس المحارف الخاصة.
* get_magic_quotes_gpc()‎: تتفقد حالة magic_quotes_gpc إن كانت مفعلةً أم لا.
+
* <code>[[PHP/get magic quotes gpc|get_magic_quotes_gpc()‎]]</code>: تتفقد حالة <code>magic_quotes_gpc</code> إن كانت مفعلةً أم لا.
  
=== مصادر ===
+
== مصادر ==
* صفحة الدالة addslashes في توثيق PHP الرسمي.
+
* [http://php.net/manual/en/function.addslashes.php صفحة الدالة addslashes في توثيق PHP الرسمي].
 +
[[تصنيف:PHP]]
 +
[[تصنيف:PHP Function]]
 +
[[تصنيف:PHP String]]

المراجعة الحالية بتاريخ 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);
?>

انظر أيضًا

مصادر