shref
22 Dec 2004, 05:53 AM
بسم الله الرحمن الرحيم
هذا الموضوع بسيط و خفيف و هام فى نفس الوقت
لكن ربما يراه من لا يملكون دراية بلغات برمجة المواقع بشكل معقد لكن سأحاول تبسيطه
------------------------------------------
الموضوع يعتمد على اعدادات سيرفر اباتشى فسيكون التعامل عبر ملف htaccess.
لكن قبل البدء فى النقاش وجب على ان اوضح المقصود مما سنفعله و بعض من الأسباب التى دفعتنا الى هذا
و سنأخذ كمثال للغات برمجة المواقع الديناميكية لغة php
فعندما نتصفح احد هذه المواقع نجد عناوين او بالأصح URLs الصفحات كهذا المثال
http://www.saven7.com/index.php?s=526&id=flash
للتوضيح : كلاً من s و id متغيرات داخل الصفحة index.php تم تمريرها عبر الـ URL لتنفيذ قيمها
و هذا ما نريد تغييره لأسباب منها
1 - محركات البحث مثل جوجل تضع تقييم اقل لمثل هذه الـ URLs لأنها تعتبر مضللة و تعيق عملية البحث السليم.
2 - هذه العناوين صعبة و غير عملية بالنسبة للمستخدم العادى .
3 - فقدان العامل الأمنى - حيث من طرق اختراق المواقع هو تمرير معطيات ديناميكية تتفاعل داخل الملف مسببة إما مسح لبيانات او جلب معلومات سرية عن قاعدة البيانات و ما إلى ذلك.
عموما لنبدء الأن قم بعمل ملف جديد بإسم htaccess.
ضع به هذا الكود
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^s-([0-9]+)/([0-9A-Za-z]+).html index.php?s=$1&id=$2ربما الكود غير واضح بعض الشئ
---- انسخه و اطبعه فى اى محرر مثل Notepad و سيظهر بشكل واضح إنشاء الله
لن اطيل عليكم و سأوضح ما نريده
فى السطر الثالث : s-([0-9]+)/([0-9A-Za-z]+).html^ عبارة عن regular expretion
يمكنك التلاعب به كما تريد لو لديك الخبرة - ( هذه النقطة مفيدة فى التأمين )-
index.php?s=$1&id=$2
هنا ستكون قيمة المتغير s تساوى 1$
و عند التطبيق سيتم استبدال 1$ بما يطابق ([0-9]+)
و نفس ما حدث يتكرر مع id التى ساويناها مع 2$
و عند التطبيق سيتم استبدال 2$ مع ما ينطبق عليه الشرط ([0-9A-Za-z]+)
بحيث لو كان URL الصفحة هو
www.saven7.com/index.php?s=254&id=flash
سيكون بعدها بهذا الشكل
www.saven7.com/s-254/flash.html
.................................................. .................................................. .............
ملاحظات :
ضع ملف htaccess. فى نفس المجلد الحاوى للملف المنفذة عليه العملية ( فى المثال كان الملف هو index.php )
regular expretions : هى اسلوب او وسيلة لعمل قوالب حرفية --- اى ان اكون بها مقياس لشكل و ترتيب مجموعة من حروف
كما فى هذا المثال البسيط
(+[9-0])-s^ معناها ان اول حرف يجب ان يكون s و ذلك لأن سبقتها العلامة ^ ثم ثانى حرف هو الرمز - ( dash )
ثم يليها اى رقم من 1 الى 9 و علامة + ( plus ) تفيد بأن الرقم من الممكن ان يتكرر مرة او اكثر
*** بالطبع يمكنك البحث اكثر عن regular expretions لتعرفها بالتفصيل ***
انا اسف c: جدا على تشعب الموضوع لكن هذا لفهم جميع النقاط
و إنشاء الله انا مستعد لأى استفسار
سلام ~o
هذا الموضوع بسيط و خفيف و هام فى نفس الوقت
لكن ربما يراه من لا يملكون دراية بلغات برمجة المواقع بشكل معقد لكن سأحاول تبسيطه
------------------------------------------
الموضوع يعتمد على اعدادات سيرفر اباتشى فسيكون التعامل عبر ملف htaccess.
لكن قبل البدء فى النقاش وجب على ان اوضح المقصود مما سنفعله و بعض من الأسباب التى دفعتنا الى هذا
و سنأخذ كمثال للغات برمجة المواقع الديناميكية لغة php
فعندما نتصفح احد هذه المواقع نجد عناوين او بالأصح URLs الصفحات كهذا المثال
http://www.saven7.com/index.php?s=526&id=flash
للتوضيح : كلاً من s و id متغيرات داخل الصفحة index.php تم تمريرها عبر الـ URL لتنفيذ قيمها
و هذا ما نريد تغييره لأسباب منها
1 - محركات البحث مثل جوجل تضع تقييم اقل لمثل هذه الـ URLs لأنها تعتبر مضللة و تعيق عملية البحث السليم.
2 - هذه العناوين صعبة و غير عملية بالنسبة للمستخدم العادى .
3 - فقدان العامل الأمنى - حيث من طرق اختراق المواقع هو تمرير معطيات ديناميكية تتفاعل داخل الملف مسببة إما مسح لبيانات او جلب معلومات سرية عن قاعدة البيانات و ما إلى ذلك.
عموما لنبدء الأن قم بعمل ملف جديد بإسم htaccess.
ضع به هذا الكود
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^s-([0-9]+)/([0-9A-Za-z]+).html index.php?s=$1&id=$2ربما الكود غير واضح بعض الشئ
---- انسخه و اطبعه فى اى محرر مثل Notepad و سيظهر بشكل واضح إنشاء الله
لن اطيل عليكم و سأوضح ما نريده
فى السطر الثالث : s-([0-9]+)/([0-9A-Za-z]+).html^ عبارة عن regular expretion
يمكنك التلاعب به كما تريد لو لديك الخبرة - ( هذه النقطة مفيدة فى التأمين )-
index.php?s=$1&id=$2
هنا ستكون قيمة المتغير s تساوى 1$
و عند التطبيق سيتم استبدال 1$ بما يطابق ([0-9]+)
و نفس ما حدث يتكرر مع id التى ساويناها مع 2$
و عند التطبيق سيتم استبدال 2$ مع ما ينطبق عليه الشرط ([0-9A-Za-z]+)
بحيث لو كان URL الصفحة هو
www.saven7.com/index.php?s=254&id=flash
سيكون بعدها بهذا الشكل
www.saven7.com/s-254/flash.html
.................................................. .................................................. .............
ملاحظات :
ضع ملف htaccess. فى نفس المجلد الحاوى للملف المنفذة عليه العملية ( فى المثال كان الملف هو index.php )
regular expretions : هى اسلوب او وسيلة لعمل قوالب حرفية --- اى ان اكون بها مقياس لشكل و ترتيب مجموعة من حروف
كما فى هذا المثال البسيط
(+[9-0])-s^ معناها ان اول حرف يجب ان يكون s و ذلك لأن سبقتها العلامة ^ ثم ثانى حرف هو الرمز - ( dash )
ثم يليها اى رقم من 1 الى 9 و علامة + ( plus ) تفيد بأن الرقم من الممكن ان يتكرر مرة او اكثر
*** بالطبع يمكنك البحث اكثر عن regular expretions لتعرفها بالتفصيل ***
انا اسف c: جدا على تشعب الموضوع لكن هذا لفهم جميع النقاط
و إنشاء الله انا مستعد لأى استفسار
سلام ~o