الدالة strip_tags ليست كافية وحدها للحماية من ثغرة XSS، فيمكن تخطيها بسهولة كما شرح لك الأخ @billal-em. من الأفضل انك تستعمل الدالة htmlentities. وهناك أيضا شيء سيء جدا في الدالة strip_tags وهي انها تقوم مباشرة بحذف وسوم html التي توضع بين < و >، على عكس الدالة htmlentities التي تقوم بتحويلهم إلى نصوص غير قابلة للتنفيذ (Entities). echo htmlentities ("", ENT_QUOTES, "UTF-8");
أولاً يلزمك إتقان لغة PHP طبعاً وفهمها جيداً، بعدها عليك فهم مصطلحات نظام الووردبريس (Hooks, filters...الخ)، ثم عليك إتقان الدوال التي يوفرها نظام الوودبريس، فنظام الووردبريس يوفر لك عدة دوال تساعدك في برمجة الإضافة الخاصة بك.. هذا الموقع http://codex.wordpress.org/ يعتبر المرجع الأساسي لمبرمجي إضافات الووردبريس فهو يشرح كل الدوال التي يوفرها الووردبريس وكيفية إستعمالها مع أمثلة تطبيقية. للأسف المراجع العربية قليلة جداً في هذا الموضوع. أنصحك تبدأ بهذا الدرس http://codex.wordpress.org/Writing_a_Plugin فهو يشرح الأساسيات بالتفصيل..
أولاً حمل مترجم GCC http://sourceforge.net/projects/mingw/ وقم بإضافة مساره إلى المتغير PATH الخاص بـEnvirenemnt Variables.. تابع هذه الصور لتفهم 1. https://mahiratmis.files.wordpress.com/2011/05/untitled2.png 2. http://i.stack.imgur.com/hLV0J.png
هل تقصد التحقق من سلامة الرابط حرفيا (يعني عدم إحتوائه على أحرف ورموز غريبة..الخ) أم تقصد التحقق أن رابط الموقع شغال ويمكن الوصول إليه ؟؟ في الحالة الأولى بإمكانك إستعمال الدالة filter_var، مثال : if (filter_var ("http://127.0.0.1/", FILTER_VALIDATE_URL) === FALSE) { die ('Not a valid URL'); } وإذا كنت تقصد الحالة الثانية، فهذه دالة بسيطة عملتها للقيام بذلك function url_exists ($url) { $ch = curl_init ($url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0");
واضح أن هذا البوت مخصص للبحث عن ثغرات LFD الموجودة في الكثير من إضافات الووردبريس.. LFD = Local File Download يستطيع من خلال هذه الثغرة تحميل ملفات من موقعك، والأهم هو ملف wp-config.php الذي تتواجد فيه معلومات قاعدة البيانات الخاصة بموقعك...
تفضل، عملت دالة على السريع.. http://pastebin.com/dg8xXHLv تضع الرابط والدالة تجلب لك كل الروابط الموجودة في الموقع على شكل مصفوفة array. وتذكر أن الروابط في معظم صفحات الويب تجدها relative وليس absolute. فإذا أردت تحويلها إلى روابط كاملة، تحتاج إلى دالة اخرى تجدها هنا http://nadeausoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url