فک کنم دیروز یا پری روز بود که در
این وبلاگ نظر دادم ، از نظر من خیلی از صحبت های ایشون و خیلی های دیگه درست نیستن و بر می گرده به عدم داشتن اطلاعات کافی در مورد یک سری مسائل و نه تعصب و احساسی بودن بنده!
به هر حال بعد از حدود یک روز یا دو روز ، پاسخی برای تنها مشکلی که بیشتر از همه باعث اذیت شدن دوستانی که با مووبل تایپ کار می کنند ، پیدا کردم.
فایل های core با پسوند نقطه یک عدد خاص مثل 5678 زمانی ایجاد می شوند که سرور شما شلوغ باشد ، لود سی پی یو بالا برود و در perl کرش صورت گیرد ، این فایل که معمولا به حدود 30 مگ یا بیشتر می رسد ، اطلاعات کرش را در خود ذخیره می کند.
جهت جلوگیری از این فایل به چند نکته زیر توجه کنید:
از پابلیش مداوم و بی خود نوشته های خود مخصوصا وقتی تعداد آنها بالا است در ساعات پر ترافیک روز خوداری کنید.
یک سری رباط ها به موتور جستجوی شما می چسبند و مدام کلمه هایی را در آن سرچ می کنند ، از طریق مراجه به بخش وضعیت سیستم ، و مشاهده لوگ سیستم می تونید ای پی این جستجوگر ها را مشخص کنید و آن ها را بن کنید.
فایل comments.cgi و mt-tb.cgi می تواند فشار زیادی به سرور بیاورند ، وقتی از جانب اسپمر ها مورد حمله قرار گیرند ، می توانید آنها را تغییر نام دهید ، تا کمتر مورد حمله قرار گیرید.
اما با همه این موراد ، اگر بخواهید فایل های کور به صورت خودکار حذف شوند ، می توانید از این روش استفاده کنید:
ابتدا یک فایل php ایجاد و دستورات زیر را در آن قرار دهید:
کد PHP:
<?php
$dir = "/home/sample/public_html/cgi-bin/mt/";
// Open a known directory, and proceed to delete core files!
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (preg_match('/core/', $file))
unlink($dir . "" . $file);
}
closedir($dh);
}
}
?>
مسیری که متغییر $dir مشخص می کند را به دایرکتوری که مووبل تایپ شما در آن قرار دارد ست کنید. می توانید با اجرای فایل mt-check.cgi این مسیر را پیدا کنید.
این فایل را با نامی ذخیره و در سایت خود قرار دهید ، در این جا من با نام core.php ذخیره کردم.
بعد از ارسال فایل به سرور ، دسترسی آن را
755 قرار دهید ( این دستری هیچ مشکل امنیتی برای شما به همراه ندارد)
به Cpanel و یا هر پنل دیگه ای که دارید مراجعه کنید ، به بخش Cron Jobs بروید ، و دستور زیر را در بخش کامند وارد کنید:
کد PHP:
/usr/bin/php /home/sample/public_html/core.php
دقت کنید که مسیر /home/sample/public_html/core.php به فایل core.php بر روی سرور باید اشاره کند.
زمان را بسته به انتخاب و تجربه ای که در ایجاد فایل های core سایتان پیدا کرده اید انتخاب کنید ، مثلا هر 12 ساعت یا هر 24 ساعت! برای اینکه مطمئن شوید اسکریپت اجرا می شود ، می توانید ایمیل خود را وارد کنید تا هنگام اجرای برنامه ، ایمیلی نیز برای شما ارسال شود.
اگر سرور شما تنظیمات درستی داشته باشد و cronjobs آن فعال باشد و یک سری فانکشن های php به عنوان مشکلات امنیتی بسته نشده باشند ، می توانید با خیال راحت فایل های core را نادیده بگیرید.
[highlight]توجه: [/highlight]وقتی به عنوان مثال این فایل را در مرورگر اجرا می کنیم ،
404 - Not Found اگر فایلی وجود داشته باشد پیغام:
کد:
Warning: unlink(/home/sample/public_html/cgi-bin/mt/core.5478) [function.unlink]: Permission denied in /home/sample/public_html/core.php on line 12
داده می شود ، اگر فایلی وجود نداشته باشد ، پیغامی داده نمی شود ، توصیه اکید می کنم که در هر صورت دست به هیچ پرمیشن فولدری نزنید ، این فایل وقتی از طریق پروتکل http فراخوانی می شود ، این پیغام را نمایش می دهد ، اما در روشی که ما استفاده کردیم فایل از طریق خود سرور و php سرور اجرا می شود ، لذا برای سرور دسترسی 755 کافی است اما برای http دسترسی 777 نیاز است که بهتر است خودتان فک کنید وقتی فلدر ام تی 777 باشد ، ممکن است چه عواقبی به همراه داشته باشد!
مثل همیشه ، پاسخگوی نقطه نظرات دوستان هستم.