لماذا أغلبية ملفات PHP في Joomla! تبدأ بـ "defined(' JEXEC')...؟

From Joomla! Documentation

This page is a translated version of the page Why do most of the Joomla! PHP files start with defined(' JEXEC')? and the translation is 78% complete.

Outdated translations are marked like this.
Other languages:
العربية • ‎Deutsch • ‎English • ‎español • ‎français • ‎Nederlands • ‎中文(台灣)‎
Copyedit.png
This Article Needs Your Help

This article is tagged because it NEEDS REVIEW. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.


غالبية ملفات PHP داخل Joomla! تبدأ بالتعبير التالي :

defined('_JEXEC') or die('Restricted access');

هذا التعبير يفحص ليرى فيما إذا كان استدعاء الملف من دخل جلسة Joomla! وهو يحمي موقعك وذلك بجعله أصعب على القراصنة/ المخربين من الاضرار بموقعك.

وهي تساعد بطريقتين رئيسيتين:

1) It prevents errors from running a PHP file that is expecting to be run inside the Jooma bootstrap and it prevents path disclosure vulnerabilities arising from the PHP fatal errors that are generated.

2) It prevents accidental injection of variables through a register globals attack that trick the PHP file into thinking it is inside the application when it really isn't.

أن وضع الإعلام عن الأخطاء أسفل يكون له تأثير مماثل، ولكن هناك اعدادات حيث لا يسمح بتغيير إعدادات INI للـ PHP ل. يعمل اختيار JEXEC بغض النظر عن ما إذا كانيمكن تغيير الاعدادات \وليس له آثار جانبية أخرى (على سبيل المثال إذا كنت تقوم بالتصحيح كل ملف يقلل من التقرير عن الخطأ سيكون مزعج لأن عليك إما تعيين مؤشر التصحيح لوقفه أو بعد كل ملف يتم تضمين التقرير عن الخطأ إعادة تعيين، وليس متعة!).

ملاحظة, هذا السطر يجب أن يتواجد في ملف index.php الرئيسي , حيث أنه البرنامج الذي يبدأ جلسة Joomla!.