ضرر وليس ظرر
2
الدالة 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 فهو يشرح الأساسيات بالتفصيل..
هل تقصد التحقق من سلامة الرابط حرفيا (يعني عدم إحتوائه على أحرف ورموز غريبة..الخ) أم تقصد التحقق أن رابط الموقع شغال ويمكن الوصول إليه ؟؟ في الحالة الأولى بإمكانك إستعمال الدالة 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");
تفضل، عملت دالة على السريع.. http://pastebin.com/dg8xXHLv تضع الرابط والدالة تجلب لك كل الروابط الموجودة في الموقع على شكل مصفوفة array. وتذكر أن الروابط في معظم صفحات الويب تجدها relative وليس absolute. فإذا أردت تحويلها إلى روابط كاملة، تحتاج إلى دالة اخرى تجدها هنا http://nadeausoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url