محمد المصري12 نشر 29 يونيو 2022 أرسل تقرير نشر 29 يونيو 2022 سلام عليكم عندي خانة المستخدم بيدخل فيها عنوان رابط ( لازم يكون خاص برفع الملفات زي one drive او google drive او drobbox ) الخ <input type="url" class="form-control image_url"> القيمة تم تمريرها بالمتغير التالي $image_url = $_POST['image_url']; قمت بعمل مصفوفة كالتالي $White_List = array("https://drive.google.com/", "https://1drv.ms/"); //Add Allowed Website list Here و قمت باستخدام دالة in_array if (!in_array($image_url, $ًWhite_List)) { echo "error"; return; } البرنامج لا يقبل الا الرابط الحرفي يعني https://drive.google.com/ فقط اي ملف مرفوع على جوجل درايف بيرفض و بيقولي خطأ انا عاوزه يوافق على الملفات داخل هذا النطاق و لو فيه طريقة اخليه يفحص بيها محتوى الرابط انه صورة فقط يا ريت لانه مواقع الرفع ما بتجيبليش الامتداد و ما بعرفش اعمل فلترة عليه شكرا جزيلا 1 اقتباس
1 Adnane Kadri نشر 29 يونيو 2022 أرسل تقرير نشر 29 يونيو 2022 يمكنك التحقق من ما ان كان العنوان المدخل رابطا نسبيا يحوي داخله أحد النطاقات المقبولة، بهاته الطريقة سيمكنك قبول الروابط المتفرعة عن هذا الاصل: <?php /** * التحقق من ما ان كان رابط ما * نطاقا فرعيا عن احد النطاقات * المقبولة * @param string $target_url * @return boolean */ function is_valid_url($target_url) { $White_List = array("https://drive.google.com/", "https://1drv.ms/"); //Add Allowed Website list Here foreach($White_List as $url) { if(str_contains($target_url ,$url)) { return true; } } return false; } $user_url = "https://drive.google.com/path/to/target/drive"; echo is_valid_url($user_url); لاحظ ان الوظيفة str_contains موجودة فقط في PHP8، ان كنت تستخدم نسخا دون هاته النسخة. يمكنك عمل ذات الفكرة عن طريق strpos مثلا: if(strpos($target_url ,$url) !== false) { return true; } أو stripos ايضا: if(stripos($target_url ,$url) !== false) { return true; } الدالة strpos() في PHP الدالة stripos() في PHP 1 اقتباس
0 محمد المصري12 نشر 1 يوليو 2022 الكاتب أرسل تقرير نشر 1 يوليو 2022 شكرا لك استاذنا هل لو قمت بترقية اصدار php8 سيؤثر ذلك على الانظمة المبرمجة بالاصدارات الأقل ؟ اقتباس
0 Adnane Kadri نشر 1 يوليو 2022 أرسل تقرير نشر 1 يوليو 2022 بتاريخ 1 دقيقة مضت قال محمد المصري5: شكرا لك استاذنا هل لو قمت بترقية اصدار php8 سيؤثر ذلك على الانظمة المبرمجة بالاصدارات الأقل ؟ قد يؤثر نعم، ولكن يجب قراءة أدلة التحديث للتأكد من سلامة عملية تحديث المشروع. اقتباس
السؤال
محمد المصري12
سلام عليكم
عندي خانة المستخدم بيدخل فيها عنوان رابط ( لازم يكون خاص برفع الملفات زي one drive او google drive او drobbox ) الخ
القيمة تم تمريرها بالمتغير التالي
قمت بعمل مصفوفة كالتالي
و قمت باستخدام دالة in_array
البرنامج لا يقبل الا الرابط الحرفي
يعني https://drive.google.com/ فقط
اي ملف مرفوع على جوجل درايف بيرفض و بيقولي خطأ
انا عاوزه يوافق على الملفات داخل هذا النطاق
و لو فيه طريقة اخليه يفحص بيها محتوى الرابط انه صورة فقط يا ريت لانه مواقع الرفع ما بتجيبليش الامتداد و ما بعرفش اعمل فلترة عليه
شكرا جزيلا
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.