PDA

View Full Version : حرفه ای: برنامه ای با مشخصات زیر



programm1
شنبه 06 دی 1393, 06:19 صبح
با عرض سلام

یک پروژه ای دارم ولی نمیدونم چطور حلش کنم و کد بنویسم:(

باید برنامه ای با مشخصات زیر باید بنویسم که قابلیت چندتایی (multi ) داشته باشه

برنامه ای بنویسید که یک مجموعه از سایت هارا دریافت کرده و سپس به انتها هر سایت phpmyadmin اضافه کند و اگر phpmyadmin سرور فعال بود و باز شد (چه به صورت پسورد در صفحه جدید چه صفحه اصلی ) اون سایت رو در یک فایل ok.txt

ذخیر نماید و اگر سایت از phpmyadmin استفاده نمیکرد و فعال نبود ان را در یک فایل به نام no.txt ذخیره کند.


مثلاً ما مجموعه سایت های زیر رو در یک کادر متن وارد میکنیم

site1.com
site2.com
site3.com
site4.com
site5.com
site6.com
site7.com

فقط سایت های زیر از phpmyadmin استفاده میکنند .

site3.com

site6.com

و با زدن دکمه submit کد ما اجرا شود و در فایل ok.txt ادرس 2 سایت که از phpmyadmin استفاده میکنند ذخیر شود و بقیه در فایل no.txt


دوستان کسی میتونه این کد رو برام بنویسه ؟؟

Tarragon
شنبه 06 دی 1393, 07:09 صبح
سلام
بخواید می تونیم بنویسیم ( بیشتر اعضا می تونند.) اما خب خودتون یاد بگیرید خیلی بهتره که، نیست؟
شما در چه حد html و php کار کردید؟

hsgpro
شنبه 06 دی 1393, 08:32 صبح
سلام
کار خاصی نیست با تابع file_get_contents آدرس site.ir/phpMyAdmin هر سایت رو بگیر.بعد بررسی کن اگر خروجی تابع خالی بود که در فایل no.txt آدرس سایت رو ذخیره کن اما اگه خالی نبود در فایل ok.txt ذخیره کن.برای ذخیره چیزی در فایل هم از تابع file_put_contents استفاده کن.

اینم آموزش استفاده از تابع های file_get_contents و file_put_contents :

http://php.net/manual/en/function.file-get-contents.php
http://php.net/manual/en/function.file-put-contents.php


بعد نکته دیگه اینکه الان در اکثر سرور ها phpMyAdmin نصب هست اما همه شون آدرس site.ir/phpMyAdmin نیستن.
مثلاً سایت هایی که هاستشون cPanel باشه آدرس phpMyAdmin فرق داره و این آدرس site.ir/phpMyAdmin اخطار 404 میده توشون.دسترسی به phpMyAdmin در سی پنل نیازمند لاگین شدن در هاست هست.
اما در عوض سایت هایی که هاستشون DirectAdmin باشه آدرس phpMyAdmin دقیق site.ir/phpMyAdmin است.
اگه خواستی می تونم چند تا سایت که آدرس phpMyAdmin اینطوری site.ir/phpMyAdmin بهت معرفی کنم.

programm1
شنبه 06 دی 1393, 13:52 عصر
راهی وجود داره که بشه دسترسی به دیتابیس از طریق محیط گرافیکی رو گرفت ؟

درضمن میشه این کد رو برای نمونه برام پیوست کنید

hsgpro
شنبه 06 دی 1393, 14:23 عصر
بفرمایید یه نمونه همین چیزی که گفتم:



<?php
// آرایه حاوی آدرس سایت ها
$sites = array(
'site1.ir',
'site2.ir',
'site3.ir',
'site4.ir',
'site5.ir',
'site6.ir',
'site7.ir',
);
// حلقه مرور آرایه آدرس سایت ها
foreach($sites as $site){
// سایت phpMyAdmin خواندن آدرس
$file = file_get_content('http://'.$site.'/phpMyAdmin/');
//ذخیره شود ok.txt خالی نبود $file اگر متغیر
if ($file !== ""){
file_put_contents('ok.txt' ,$site ,FILE_APPEND);
}else{
file_put_contents('yes.txt' ,$site ,FILE_APPEND);
}
}

programm1
شنبه 06 دی 1393, 14:58 عصر
یک سوال برام پیش امده

(با استفاده از html )الان چطور باید ارایه رو از کاربر بگیرم ؟

hsgpro
شنبه 06 دی 1393, 15:07 عصر
به نظرم می تونی همه سایت ها رو توی یه TextArea بگیری و هر سایت توی یه Line باشه بعد با explode به array تبدیلش کنی یا اگه تعدادش محدوده هر سایت رو به صورت چند فیلد Input بگیری و با POST ارسال کنی.

programm1
شنبه 06 دی 1393, 16:07 عصر
یک مشکل دیگه

اگه من بخوام اینجوری چک کنم بعضی از پنل ها مثل وردپرس و جوملا اگر صفحه یا فولدر مورد نظر وجود نداشت صفحه 403 رو نشون میدن


این مشکل رو چطور رفع کنم

hsgpro
شنبه 06 دی 1393, 16:18 عصر
خب در این صورت می تونید با تابع strpos بررسی کنید که یه کلمه که حتماً در صفحه phpMyAdmin یا سورسش هست وجود داره یا نه اگر وجود داشت در فایل ok.txt ذخیره بشه.

programm1
شنبه 06 دی 1393, 16:30 عصر
با تشکر

phpmyadmin به دو شکل کلی زیر هست

http://www.toprolluiken.nl/phpmyadmin/
http://www.eurokooi.nl/phpmyadmin/

الان چطور برای این کد بنویسم


کد رو تونستم با کمک هایی که کردید (تازه کار هستم ببخشید که زیاد سوال میکنم و کمک زیاد میخوام ) یک چیزایی در بیارم

کد رو پیوست کردم یک چک میکنید مشکلش رو ببینید و بگید + چطور کاملش کنم ؟

hsgpro
شنبه 06 دی 1393, 18:11 عصر
ببینید من الان سورس هر دو مدلش رو دیدم تو سورس هر دو تاشون واژه phpmyadmin قید شده.
پس کد زیر می تونه صفحه phpmyadmin رو از صفحات 404 و... تشخیص بده:


<?php
$url = explode("\n",trim($_POST['multiURL'])) ;
foreach($url as $site){
$file = file_get_content('http://'.$site.'/phpMyAdmin/');
if (strpos($file, 'phpmyadmin') > 0){
file_put_contents('ok.txt' ,$site ,FILE_APPEND);
}else{
file_put_contents('yes.txt' ,$site ,FILE_APPEND);
}
}
echo "<br /><br /><br /><br /> Finished. ";
?>

programm1
شنبه 06 دی 1393, 18:24 عصر
Fatal error: Call to undefined function file_get_content() in C:\xampp\htdocs\news\web.php on line 4


این اررور برای چیه

hsgpro
شنبه 06 دی 1393, 18:27 عصر
من کد شما رو دانلود کردم و فقط اون strpos رو اضافه کردم.
من به اشتباه در پست بالایی s آخر تابع file_get_contents رو نذاشته بودم.


<?php
$url = explode("\n",trim($_POST['multiURL'])) ;
foreach($url as $site){
$file = file_get_contents('http://'.$site.'/phpMyAdmin/');
if (strpos($file, 'phpmyadmin') > 0){
file_put_contents('ok.txt' ,$site ,FILE_APPEND);
}else{
file_put_contents('yes.txt' ,$site ,FILE_APPEND);
}
}
echo "<br /><br /><br /><br /> Finished. ";
?>