الله يجزاك خير اخوي جريح
وبيض الله وجهك
شغال تمام على النسخه 3.5.4
الله يجزاك خير اخوي جريح
وبيض الله وجهك
شغال تمام على النسخه 3.5.4
اخوي Onimusha
البرودكت سليم وركبته على أكثر من منتدى ..
Allow Overwrite حط على yes
الف شكر لك اخونا جريح وما قصرت لكن عندي سؤالين لو سمحت
السؤال الاول
اللي مركب الصندوق الالماسي لابو عمر ماذا يفعل وكيف يتصرف؟
السؤال الثاني
هل نستطيع ان نطور من خلال الملف الذي قام برفعه الاخ جواني
مع العلم ان نسختي
355
والف شكر لك يا غالي
لاسف اخوي ما نفع حتى بعد ما عملت yesالمشاركة الأصلية كتبت بواسطة جواني
اعتقد ان هناك تضارب بين الازرار الاضافية والصندوق الماسي الرابع
الحين اغلب المواضيع ما تفتح
يظهر معاي هالخطأ:
Database error in vBulletin 3.6.4:
Invalid SQL:
SELECT COUNT(postid) AS total, dateline FROM post WHERE userid= AND dateline > '1166942977' GROUP BY userid;
MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND dateline > '1166942977' GROUP BY userid' at line 1
Error Number : 1064
Date : Monday, December 25th 2006 @ 10:49:37 AM
Script : http://www.***********/vb/showthread.php?t=2792
Referrer :
IP Address : *******
Username : ******
Classname : vb_database
حاولت ارجع الصندوق الماسي مرة آخرى ولكن بدون فائدة ايضاً
شو الحل ؟؟
احذف الهاكين
واختر واحد منهم لمنتداك وركبه.
واحد فقط!!
====
يالربع .. ابو سعد موقعه وكل شغله موقفين له كلاب النت وهو جالس يرقع لكم هاكاتكم ومبتسم بعد!!
برايفت .. ياقو صبرك يابو سعد
حاولت هالشي .. بس الظاهر وصلت متأخرالمشاركة الأصلية كتبت بواسطة p7r
لاني لاقدرت احذف الازرار الاضافية بشكل نهائي
ولا ركب الصندوق الماسي..
انا افضل الازرار الاضافية طبعا
بس المنتدى مخبوص الحين واغلب المواضيع ما تفتح
كيف مو قادر تحذفه نهائي؟؟ هات محتوى الخطأ اللي يطلع لك
طيب الصندوق الماسي ما تقدر تحذفه؟؟
السلام عليكم ورحمة الله وبركاته
لا زال يحتاج ترقيع أخي جريح
راجع الفلاش جيدا يا أخ جريح وسبق وأن ذكرتك في الماضي أن تعديلاتك الأخيره التي عملتها على الدوال التي كانت توجد في الإصدار الثاني هي التي أدت للثغرات .
وثغرة الفلاش لازالت موجوده ولكن بشكل اخر ودقق فيها وسوف تعرف مقصدي.
أضف إلى ذلك grade و mark و glow لازالت هناك خطوره ولا تثق في الـ REGX كثيرا واعتمد على القياسي منها.
ياليت تراجع موضوع أخطاء الصندوق السحري والماسي والتي أسهبنا فيها النقاش كثيراً حول Move وإغلاق المتصفح.
أيضاً أنا أستغرب من هذه الأسطر:
هذه خطره وفاتتك ولو راجعت نقاشات الفي بي حول رموز الابتسامات الخطيره لكنت قد علمت خطورة هذه الأسطر.كود PHP:
return '[rams]<font color="#FF0000">' . $param . '</font>[/rams]';
return '[ramv]<font color="#FF0000">' . $param . '</font>[/ramv]';
return '[media]<font color="#FF0000">' . $param . '</font>[/media]';
return '[flash]<font color="#FF0000">' . $option . '</font>[/flash]';
دمت بود.
__________________
al3ndaleeb[@]uk2.net
اخوي العندليب واخوي جريح ياريت بس من فين الازرار الاضافيه بدون ثغرات وتركب على 3,5,4 بارك الله فيكم
تقبلوا تحياتي واحترامي
في امان الله وحفظه
جاري العمل عليه استاذي عندل
بارك الله فيك اخي جريح والاستاذ جنتل اقصد عندل![]()
استاذي عندل
اقنعني او انا اقنع
انا استخدمت فلتر على كود الفلاش وسأعمل على شرحها بالتفصيل الدقيق
ولا اعتقد انه يمكن تمرير اي شي من دون فلترته
****رشفة من الشاي الساخن***
بداية الكود الاساسي
كود PHP:
function handle_flash(&$parser, $param, $option)
{
$option = str_replace(' ', '', $option);
$param = preg_replace('/[^=a-z0-9\s]/', '', $param);
$option = str_replace(array("'", ';', '(', ')', '*'), '', $option);
$param = preg_replace('@<[\/\!]*?[^<>]*?>@si', '', $param);
$option = preg_replace('@<[\/\!]*?[^<>]*?>@si', '', $option);
$extfile = @basename($option);
$ext = substr(strrchr($extfile, '.'), 1, 3);
if(eregi($_SERVER["SERVER_NAME"], $option) AND ($ext == 'swf'))
{
if (@getimagesize($option))
{
return '<embed src="' . $option . '" ' . $param . ' quality="high" loop="false" menu="false" TYPE="application/x-shockwave-flash" wmode="transparent" AllowScriptAccess="never" nojava="true"></embed>';
}
else
{
return '[flash]<font color="#FF0000">' . $option . '</font>[/flash]';
}
}
elseif($ext == 'swf')
{
return '<embed src="' . $option . '" ' . $param . ' quality="high" loop="false" menu="false" TYPE="application/x-shockwave-flash" wmode="transparent" AllowScriptAccess="never" nojava="true"></embed>';
}
}
$tag_list['option']['flash'] = array
(
'callback' => 'handle_external',
'external_callback' => 'handle_flash',
'strip_empty' => true,
'disable_smilies' => true,
'disable_wordwrap' => true,
'stop_parse' => true
);
الجزئ الاول من الكود
كود PHP:
$option = str_replace(' ', '', $option);
$param = preg_replace('/[^=a-z0-9\s]/', '', $param);
$option = str_replace(array("'", ';', '(', ')', '*'), '', $option);
$param = preg_replace('@<[\/\!]*?[^<>]*?>@si', '', $param);
$option = preg_replace('@<[\/\!]*?[^<>]*?>@si', '', $option);
$extfile = @basename($option);
$ext = substr(strrchr($extfile, '.'), 1, 3);
كود فلاشي للتطبيق
كود HTML:[flash=http://www.tl3b.com/uploads/12-25-06~eid2_a3tereflek_.swf]width=500 height=300[/flash]
في السطر
$option = str_replace(' ', '', $option);
يتم ازالة اي مسافات في المتغير option الذي يعبر عن الرابط للفلاش
http://www.tl3b.com/uploads/12-25-06...3tereflek_.swf
بعد ذلك
$param = preg_replace('/[^=a-z0-9\s]/', '', $param);
[^=a-z0-9\s]
Match a single character NOT present in the list below «[^=a-z0-9\s]»
The character "=" «=»
A character in the range between "a" and "z" «a-z»
A character in the range between "0" and "9" «0-9»
Match a single character that is a "whitespace character" (spaces, tabs, line breaks, etc.) «\s»
هنا يتم التحقق من الطول والبعد بحيث يشمل فقط (الارقام والحروف من a وحتى z والمسافة وعلامة المساواة =) كما هنا width=500 height=300
بعد ذلك
$option = str_replace(array("'", ';', '(', ')', '*'), '', $option);
يتم ازالة كلٍ من ' و ; و ( و ) و * من متغير الطول والعرض
كما يتم هنا
$param = preg_replace('@<[\/\!]*?[^<>]*?>@si', '', $param);ازالة > و < و /
$option = preg_replace('@<[\/\!]*?[^<>]*?>@si', '', $option);
وهنا يتم جلب اسم ملف الفلاش فقط من دون الرابط
$extfile = @basename($option);
بعد ذلك يتم جلب امتداد الملف
$ext = substr(strrchr($extfile, '.'), 1, 3);
*************************
الآن نأتي للشرط الأول
كود PHP:
if(eregi($_SERVER["SERVER_NAME"], $option) AND ($ext == 'swf'))
{
if (@getimagesize($option))
{
return '<embed src="' . $option . '" ' . $param . ' quality="high" loop="false" menu="false" TYPE="application/x-shockwave-flash" wmode="transparent" AllowScriptAccess="never" nojava="true"></embed>';
}
else
{
return '[flash]<font color="#FF0000">' . $option . '</font>[/flash]';
}
}
يتم التأكد هنا
if(eregi($_SERVER["SERVER_NAME"], $option) AND ($ext == 'swf'))
ما اذا كان الفلاش على الموقع و امتداده swf
يتم تنفيذ
كود PHP:
if (@getimagesize($option))
{
return '<embed src="' . $option . '" ' . $param . ' quality="high" loop="false" menu="false" TYPE="application/x-shockwave-flash" wmode="transparent" AllowScriptAccess="never" nojava="true"></embed>';
}
*** رشفة من الشاي المعتدل حرارته****
getimagesize
تتحقق ما اذا كان الملف فلاش او صورة
The getimagesize() function will determine the size of any GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML IMG tag.
If accessing the filename image is impossible, or if it isn't a valid picture, getimagesize() will return FALSE and generate an error of level E_WARNING.
اذا فشل التحقق
تعود الدالة برابط الفلاش كنص فقط بلون احمر
وشفشل غالباُ بسبب عدم وجود الملف او احتوائه على محتوى غير فلاشي
او تعطيل خاصية allow_url_fopen من على سيرفر المستضيف
return '[flash]<font color="#FF0000">' . $option . '</font>[/flash]';
واستغرب قولك انه يشكل خطراً!!!!!
***رشفة من الشاي البارد***
هذا اذا كان الملف الفلاشي على المجلد الموقع
الآن اذا لم يكن على مجلد الموقع ما الذي يحدث
يتم تفقد امتداد الملف فقط حسب الشرط
كود PHP:
elseif($ext == 'swf')
{
return '<embed src="' . $option . '" ' . $param . ' quality="high" loop="false" menu="false" TYPE="application/x-shockwave-flash" wmode="transparent" AllowScriptAccess="never" nojava="true"></embed>';
}
ولا استطيع المجازفة هنا واستخدام دالة getimagesize على ملفات من خارج السيرفر
حيث ستشكل ثقلاً من ناحية استنفاذ مصادر السيرفر
مما يسبب بطئ في تصفح المواضيع
منتظر تعليقاتكم
كود PHP:
$tag_list['option']['flash'] = array
(
'callback' => 'handle_external',
'external_callback' => 'handle_flash',
'strip_empty' => true,
'disable_smilies' => true,
'disable_wordwrap' => true,
'stop_parse' => true
);
'callback' => 'handle_external',
متغير مصفوفة لتبيين انه سيتم استدعاء دالة خارجية لإجراء تعابير وشروط منطقية على الوسم flash
'external_callback' => 'handle_flash',
تعريف الدالة الخارجية باسم handle_flash
'disable_smilies' => true,
تعطيل الابتسامات, وهذه مفيدة اذا ما كان الكود يحتوي على حروف شبيه باختصارات الابتسامات
'disable_wordwrap' => true,
تعطيل التفات النص
'strip_empty' => true,
اعتقد لها دخل بالاسطر والله لا تحظرني الآن
'stop_parse' => true
حسب ما اذكر انها تعطل اجراء اي عمليات اخرى على هذا الكود
فمثلا لو كان النص سميك وبحجم 8
فستعود بالنص على انه سميك فقط وتهمل الحجم
التعديل الأخير تم بواسطة جريح ; 25-12-2006 الساعة 11:23 PM سبب آخر: شرح ما سقط سهواً
يرجى من اخواني الكرام الإكتفاء بمتابعة الحوار ومناقشة الكود البرمجي فقط وسيتم طرح المنتج من جديد في وقت لاحق
شاكر لكم مقدماَ
السلام عليكم
اخوتي العندليب وجريح ماذا اذا تم وضع الاكواد في الـAction Script داخل ملف الفلاش هل سيتم تنفيذ ما بداخل الفلاش ؟؟؟
واسف علي المداخله :app: