عرض مشاركة مفردة
 
  #4  
قديم 15-08-2006, 09:30 PM
Security Security غير متصل
عضو
 
تاريخ التسجيل: Aug 2006
مشاركة: 8
مستوى تقييم العضوية: 0
Security is on a distinguished road
الافتراضي

ثانيا تهيئه بيئه الـphp لكي تناسب احتياجات العملاء

لقد ذكرنا من قبل ان بعض خيارات الـphp قد لا تناسب سكربتات العملاء على السيرفر ولذلك يجب تغييرها وهنا سنتعلم معا كيفيه تغييرها لكل موقع على حده بمعنى,,, لو طلب منك احد العملاء ان تفعل الـregister_globals لموقعة سوف تقوم بتفعيله لملفات موقعه فقط بدون الحاجة لتفعيلة على السيرفر بأكمل ويجدر بي هنا ان اذكر ان هنالك قيمتين لخيارات ملف php.ini واحده تكون local value وهي للموقع فقط والثانية تكون Master value وهي قيمه الخيار للسيرفر بأكمله ويمكنك معرفه كل ذلك بوضع الملف التالي في احد المواقع وطلبه عن طريق المتصفح

كود:
<?php
 
phpinfo();
 
?>
((سوف نتفق على كلمه "تخصيص" على ان تعني تعديل الخيار او تخصيصه لموقع معين))
((نقصد بالخيارات القيم الموجوده بداخل ملف php.ini كالـsafe_mode على سبيل المثال))
تنقسم الخيارات الموجوده بداخل ملف php.ini الى عده اقسام وهي:

PHP_INI_USER : ويمكننا تخصيصها من الرجستري في حاله سيرفرات الوندوز.
PHP_INI_PERDIR : ويمكننا تخصيصها بواسطة ملف .htaccess يوضع بداخل مجلد السكربت او الموقع ويمكننا التعديل عليها ايضا عن طريق ملف httpd.conf
PHP_INI_SYSTEM : ويمكننا تخصيصها عن طريق ملف httpd.conf فقط
PHP_INI_ALL : يمكننا تخصيصها عن طريق كل ما سبق

((لاحظ ان القيم الاساسيه او الـMaster value نحددها عن طريق ملف php.ini))

ويمكنك معرفه الخيار والى اي قسم ينتمي عن طريق الوصله التالية http://www.php.net/manual/en/ini.php

ويتم اعطاء القيم بشكلين مختلفين
On او Off عن طريق php_flag
اي سلسه قيم او مسار عن طريق php_value

بفرض انه بأمكانك تخصيص الخيار عن طريق ملف .htaccess
يمكنك عمل ملف .htaccess عادي في موقعك واضافه التالي الية
كود:
php_flag register_globals on
وهنا سوف يكون الـlocal value او القيمه المحلية للخيار register_globals بحالة On بالنسبه لملفات موقعك

وان كان الخيار لا يمكن تخصيصه الا من ملف httpd.conf كالـsafe_mod على سبيل المثال حيث انه يقع ضمن قسم PHP_INI_SYSTEM اللتي لا يمكن تخصيصها الا من ملف httpd.conf
فقم بالتعديل على ملف httpd.conf بالمسار
كود:
/usr/local/apache/conf
بواسطة المحرر peco او nano وابحث عن عنوان الموقع username.com

وتأكد ان كل ما تقوم بكتابته يقع ضمن نطاق اعدادات الموقع
وسوف يكون بالشكل التالي على فرض ان الموقع هو www.oman-web.com واسم المستخدم هو omanweb
كود:
<VirtualHost 208.101.28.63>
ServerAlias www.oman-web.com
ServerAdmin webmaster@oman-web.com
DocumentRoot /home/omanweb/public_html/
BytesLog domlogs/oman-web.com-bytes_log
ServerName oman-web.com
 
<IfModule mod_php4.c>
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
php_admin_flag register_globals on
php_admin_value disable_functions none
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
</IfModule>
 
User omanweb
Group omanweb
CustomLog /usr/local/apache/domlogs/oman-web.com combined
ScriptAlias /cgi-bin/ /home/omanweb/public_html/host/cgi-bin/
</VirtualHost>
تأكد انك تقوم بالتعديل بين كل من
كود:
<VirtualHost 208.101.28.63>
..............................
..............................
....................
</VirtualHost>
وسنخصص على حسب اصداره الphp لدينا فأن كانت 4
نعدل بين
كود:
<IfModule mod_php4.c>
..................................
..............................
........................
</IfModule>
وان كنا نستخدم الاصداره الخامسة

كود:
<IfModule mod_php5.c>
...............................
...........................
........................
</IfModule>
-------------------------------
ويكون التعديل كالتالي
php_admin_flag لأي قيمه On او Off
و
php_admin_value لأي سلسه من القيم او مسار ملفات
وطبعا من الممكن ان تكون القيمه none كالمثال بالاعلى
كود:
 php_admin_value disable_functions none
او
كود:
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
وتأكد من كتابتها بنفس الطريقه الموضحة

بالنهاية ارجوا ان تعلم اخي القاريء ان الدرس جاء خلاصه لتجارب وقرائات عديدة في مده ليسة ببسيطة فالرجاء نشره مع حفظ حقوق الكاتب وارجوا المعذره عن اي تقصير فني او لغوي من تجاهي


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

كل الحقوق محفوظه لـ Oman-Webــ 13/8/2006






التوقيع
معنى جديد للأستضافة
تواصل معنا
الرد باقتباس