تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Nov 2005-
#1 (permalink)  
الأمان في مراكز التحميل؟


السلام عليكم

شباب كيف نجعل مركز التحميل آمن ولا يقبل تحميل ملفات php

نسمع ان هناك ثغرات في مراكز التحميل لكن كيف يمكن تحميل ملفات php

او بالاصح كيف نمنع ذلك






فارس القبيلة غير متواجد حالياً   قديم 10-06-2006, 06:04 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#2 (permalink)  

ألسلام عليكم ورحمة الله وبركاته

كود PHP:
if ($_FILE['file']['type']=="text/html")
{
echo 
"لا يسمح لك برفع ملفات الصفحات في الموقع ";
}
else
{
//uploading code here







eyeislam غير متواجد حالياً   قديم 10-06-2006, 07:24 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2005-
#3 (permalink)  

أخي يوجد كود لمعرفة صيغة الملف الي بترفعه ...

وبإمكانك تحديد الصيغة المطلوبة ...

كود PHP:
$type=array(".gif",".jpg",".png",".jpeg",".zip",".rar"); 
قم وضع الصيغ التي تريدها ...

وبإمكانك التأكد من أن الملف المحمل يجب أن يكون من إحدى الصيغ التالية أو يظهر شاشة الخطأ .
كود PHP:
$ext strrchr($_FILES['filetoupload'][name],'.');
 if ((!
in_array($ext,$type)) {
echo(
" قمت بعملية غير شرعية : (( إمتداد الملف غير مدعوم )) ... ");

وبكذا يكون حددت الصيغ المطلوبة ... وأظهرت شاشة تحذير إذا كان الملف غير مدعوم الصيغة ..

لك خالص حبي

Malphp






Malphp غير متواجد حالياً   قديم 10-06-2006, 10:38 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2005-
#4 (permalink)  

لا تسمح ابدا بتحميل ملفات من نوع رار او psd
لانها تشتغل مباشره لذلك هي مرصد لسكربتات php






__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
-----------------
تفضل معنا
خدمات الاستضافة مع تركيب و دعم خاص للبوابة العربية لكافة العملاء
موقع خدمات العرب
عبقري العرب غير متواجد حالياً   قديم 10-06-2006, 10:49 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#5 (permalink)  

السلام عليكم

طريقة أخونا eyeislam هي الأئمن

لأنها تتحقق من نوع الملف الأصلي ومن محتواه


اما اخوي Malphp فهي تتحقق من امتداد الملف فقط

يعني اقدر اعمل ملف php واغير امتداده لاي صورة وبيقبله مباشرة

وهذا خطر جدا

ذكر اخونا العندليب طريقة
اعمل ملف باسم

.htaccess

ضع بداخله


RemoveType .php .php2 .php1 .impx .dll .ajx .aajx .copy .wget .pop .mail .email .php3 .phtml .pl .cgi.html.htm.asp.aspx



فيها قوة بحيث تمنع تشغيل ملفات php أو اي ملف نصي على السيرفر


ايضا استخدام الدالة

move_uploaded_file

بدل الدالة
copy

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



هذا مالدي شاركتكم به

بالتوفيق للجميع






__________________
شكرا سوالف سوفت ....
اخباري هنا - إمبراطورية وحيد
الإمبراطور وحيد غير متواجد حالياً   قديم 11-06-2006, 10:45 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2005-
#6 (permalink)  

بارك الله فيك أخي ( الإمبراطور وحيد )

ولكن إذا تغييرت صيغة الملف المحمل فما أعتقد له أي فائدة ....

وبإمكانك التأكد وحول الملف php إلى gif وأخبرني بالنتيجة ...!!

وإذا كان له مضار يا ليت لو تعلمني ؟ وأكون لك شاكر ..

ولك خالص حبي

Malphp






Malphp غير متواجد حالياً   قديم 11-06-2006, 11:04 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#7 (permalink)  

السلام عليكم

هلا اخوي

انا مو هكر

لكن لقيت على موقعي شل كامل بامتداد gif

وواحد ارسل لي رسالة قالي شوف الشل بموقعك واقدر اتحكم فيه
وفعلا قدر يدخل على الملفات وغير لي شغلات بسيطة بس أثبت لي انه يقدر فعلا يستخدم الـ php حتى لو امتداده gif


تحياتي لك

وحيد






__________________
شكرا سوالف سوفت ....
اخباري هنا - إمبراطورية وحيد
الإمبراطور وحيد غير متواجد حالياً   قديم 11-06-2006, 11:52 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#8 (permalink)  

شوف اخوي مثال


http://www.x08x.com/uploads/ddd7894323.gif

تحياتي






__________________
شكرا سوالف سوفت ....
اخباري هنا - إمبراطورية وحيد
الإمبراطور وحيد غير متواجد حالياً   قديم 11-06-2006, 11:57 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2005-
#9 (permalink)  

ياساتر ياوحيد

بس كيف الطريقة






فارس القبيلة غير متواجد حالياً   قديم 11-06-2006, 05:49 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#10 (permalink)  

قلت لك يالغالي


اقتباس:
ايضا استخدام الدالة

move_uploaded_file

بدل الدالة
copy

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


بالتوفيق وترقب النسخة السابعة من مركز التحميل الإمبراطوري قريبا بحول الله

تحياتي لك






__________________
شكرا سوالف سوفت ....
اخباري هنا - إمبراطورية وحيد
الإمبراطور وحيد غير متواجد حالياً   قديم 11-06-2006, 10:59 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#11 (permalink)  

شكرأً لكم على هذا النقاش المفيد.






__________________
لا إله إلا الله
أبو عبدالملك غير متواجد حالياً   قديم 13-06-2006, 09:18 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2005-
#12 (permalink)  

بارك الله فيك أخي ( الإمبراطور وحيد ) ...

والله الطريقة عجيبة جداً .. ...

كان عندي شك في عمل مثل هذه الأمور ولكن بعد ما شفته تحول لخووووف >>> (-_-)

لازم الواحد يحط حساب لعمل سكريبت ذي كذا ..

أتمنى لك التوفيق

Malphp






Malphp غير متواجد حالياً   قديم 13-06-2006, 01:49 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2004-
#13 (permalink)  

فتح بواسطة....

المفكرة

http://www.x08x.com/uploads/9bdf28780b.gif






__________________
k_l_l_o_ll @ hotmail.com
فن التصميم
ياقلبي غير متواجد حالياً   قديم 14-06-2006, 02:55 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#14 (permalink)  

بإمكانكم وضع ملف .htaccess داخل مجلد الرفع

والذي حتى وان نجح الهكر في رفع شل مهما كان امتداده حتى ولو صورة فأنه لن يعمل

ويكون محتوى ملف ال .htaccess كالتالي :

php_flag engine off
<Files ~ "\.(php*|s?p?html|cgi|pl)$">
deny from all
</Files>

تحياتي .






__________________
مكتبة كتب لتعليم ال PHP والبرمجة
www.7loul.com
حلول للبرمجة غير متواجد حالياً   قديم 14-06-2006, 04:21 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Oct 2001-
#15 (permalink)  

أخي العزيز :


ضع هذا الأمر في ملف TXT واحفظه بإسم

htaccess.

ثم ارفعه الى المجلد الخاص بتحميل الصور ، والذي ترفع عليه الصور .



كود PHP:
RemoveType .php .php3 .phtml .pl .html .htm .cgi .php4 .exe .msi .rpm .vir .scr .pif .com 
انا مجربه على موقعي ولا أحلى من كذا شيء .


تحيتي لك .






arif2001 غير متواجد حالياً   قديم 15-06-2006, 06:08 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jan 2002-
#16 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة arif2001
أخي العزيز :


ضع هذا الأمر في ملف TXT واحفظه بإسم

htaccess.

ثم ارفعه الى المجلد الخاص بتحميل الصور ، والذي ترفع عليه الصور .



كود PHP:
RemoveType .php .php3 .phtml .pl .html .htm .cgi .php4 .exe .msi .rpm .vir .scr .pif .com 
انا مجربه على موقعي ولا أحلى من كذا شيء .


تحيتي لك .
هذا ليس بحل لانه ستظل ملفات php تعمل بامتدادات أخرى

الحل هو تعطيل محرك php وحتى لو سمحت بملفات php لن تضرك هذه الملفات

والأمر الصحيح هو كما ذكر الاخ حلول برمجية






__________________
للمراسلة
http://php4pro.arabform.com
حل مشكلة العربي في phpMyAdmin
windows-1256
http://www.swalif.net/softs/showthread.php?t=172401
للUTF
http://www.swalif.net/softs/swalif45/softs241717/
php4pro غير متواجد حالياً   قديم 18-07-2006, 07:57 PM
رد مع اقتباس
Moderator
تاريخ التسجيل: Aug 2004-
#17 (permalink)  

هذي هي طريقه لجعل السرفر يقرء الملف و يتعرف على نوعيه المحتوى بطريقه قرأة الMIME Types اي نوع المحتوى وليس الامتداد ..

كود PHP:


<?
$this_file 
'./test.jpg';

if (
file_exists($this_file))
 {
 echo 
"File $this_file exists.<br />";
 echo 
mime_content_type($this_file);
 }
else
 {
 echo 
"File $this_file does NOT exist!";
 }

?>
اذا كانت test.jpg هي صحيحه ملف صوره فيسكون الناتج من الداله هي image/jpeg واذا لم تكن كذالك ستعطيك مثلا application/pdf

المشكهه انا لا تعمل بالطريقه الصحيحه في سرفرات الوندوز .. انا جربته عل جهازي:
عندما كنت استخدم LINUX/Fedora core 5 كانت النتائج صحيحه اما على الوندوز XP لم يكن النتائج صحيحه .. حتى وان كانت السرفر Apche 2.2 و PHP5 وملف الPHP.ini مجهز بالسطور:

كود بلغة HTML:
extension=php_mime_magic.dll
mime_magic.magicfile = "C:\PHP\ext\php_mime_magic.dll"






__________________
هلابي افضل المواقع العربية تصميماً
انصح باستخدام ابونتو
hilaby غير متواجد حالياً   قديم 19-07-2006, 05:14 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2000-
#18 (permalink)  

موضوع حلو مفيد وبما انكم اجتمعتوا وكل واحد قام يبدي وجهة نظره معناها راح نوصل الى افضل نتيجة ان شاء الله

اعتذر اني لا افقه في امور البرمجة لكن الموضوع يهمني بشكل كبير

اتمنى منكم التوصل لحل متفق عليه وهو الآمن "الى حد كبير"

تقديري






shadow غير متواجد حالياً   قديم 23-07-2006, 01:08 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#19 (permalink)  

السلام عليكم

نقاش رائع فعلا

اخي hilaby اتمنى توضح لنا اخوي

الكود اللي وضعته يتأكد ان الملف موجود ويحدد نوعه

بس مافهمت كيف احدد انواع معينة ومايقبل غيرها؟معذرة لان مااستوعبت الكود

فيه بس شرط واحد

if (file_exists($this_file))


اذا الملف موجود او لا



هذا اللي فهمته .. اتمنى افداتك


ايضا بالنسبة للتعديل على ملف php.ini بالنسبة للويندوز

لم أجد الموديل php_mime_magic.dll

ضمن ملفات البي اتش بي هل هو من نسخة البي اتش بي ؟؟


وعلى الهامش ايضا

ذكرت انك جربت الطريقة على LINUX/Fedora core 5 ..
سؤالي هل على جهاز موجود عندك ام على سيرفر انترنت تقصد ؟
لو على جهاز عندك هل من طريق ابتدأ به في تثبيت النظام على جهاز شخصي وتالعامل معه مثل التعامل مع سيرفرات الإنترنت



فقط هذا كل شي ،


خالص التحايا للجميع






__________________
شكرا سوالف سوفت ....
اخباري هنا - إمبراطورية وحيد
الإمبراطور وحيد غير متواجد حالياً   قديم 23-07-2006, 02:39 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jan 2002-
#20 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة hilaby
هذي هي طريقه لجعل السرفر يقرء الملف و يتعرف على نوعيه المحتوى بطريقه قرأة الMIME Types اي نوع المحتوى وليس الامتداد ..

كود PHP:


<?
$this_file 
'./test.jpg';

if (
file_exists($this_file))
 {
 echo 
"File $this_file exists.<br />";
 echo 
mime_content_type($this_file);
 }
else
 {
 echo 
"File $this_file does NOT exist!";
 }

?>
اذا كانت test.jpg هي صحيحه ملف صوره فيسكون الناتج من الداله هي image/jpeg واذا لم تكن كذالك ستعطيك مثلا application/pdf

المشكهه انا لا تعمل بالطريقه الصحيحه في سرفرات الوندوز .. انا جربته عل جهازي:
عندما كنت استخدم LINUX/Fedora core 5 كانت النتائج صحيحه اما على الوندوز XP لم يكن النتائج صحيحه .. حتى وان كانت السرفر Apche 2.2 و PHP5 وملف الPHP.ini مجهز بالسطور:

كود بلغة HTML:
extension=php_mime_magic.dll
mime_magic.magicfile = "C:\PHP\ext\php_mime_magic.dll"
راجع
http://bugs.php.net/bug.php?id=38235&edit=3

لكن المشكلة عندي أن الدالة لم تعمل نهائياً

طبعا الدالة لا تعمل الا في php v4.3 فما فوق وحاولت بشتى الطرق تشغيلها ولم استطع لا اعلم لماذا مع اني فعلت php_mime_magic.dll ووضعت مسار الملف لكن حتى الآن يقولي

اقتباس:
Fatal error: Call to undefined function: mime_content_type()


اقتباس:
ايضا بالنسبة للتعديل على ملف php.ini بالنسبة للويندوز

لم أجد الموديل php_mime_magic.dll

ضمن ملفات البي اتش بي هل هو من نسخة البي اتش بي ؟؟


وعلى الهامش ايضا

ذكرت انك جربت الطريقة على LINUX/Fedora core 5 ..
سؤالي هل على جهاز موجود عندك ام على سيرفر انترنت تقصد ؟
لو على جهاز عندك هل من طريق ابتدأ به في تثبيت النظام على جهاز شخصي وتالعامل معه مثل التعامل مع سيرفرات الإنترنت
أخي اولا لابد ان يكون اصدار php الي عندك php v4.3 فما فوق

اذا كان كذلك افتح ملف php.ini

اضف الكود التالي
كود:
[mime_magic]
mime_magic.debug = On
mime_magic.magicfile = "C:\path\to\php\extensions\php_mime_magic.dll"
طبعا ضع المسار الصحيح الي عندك لملف php_mime_magic.dll

وابحث عن
كود PHP:
;extension=php_mime_magic.dll 
واستبدلها ب
كود PHP:
extension=php_mime_magic.dll 
بدون الفاصلة المنقوطة واعد تشغيل السيرفر المفروض الآن تعمل الدالة لكنها لم تعمل عندي






__________________
للمراسلة
http://php4pro.arabform.com
حل مشكلة العربي في phpMyAdmin
windows-1256
http://www.swalif.net/softs/showthread.php?t=172401
للUTF
http://www.swalif.net/softs/swalif45/softs241717/
php4pro غير متواجد حالياً   قديم 07-08-2006, 06:19 AM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:24 AM بتوقيت المملكة العربية السعودية