السلام عليكم
كان لدي مشكله لي يومين بسبب ارتفاع اللود
واكتشفت ان اللود بسبب ال spam على موقع فلاشيات "ايميلات خارجيه" ترسل بالالاف على الموقع
وكنت ابحث ووجدت هذا الموضوع وفي الحقيقه لدي حل لهذه المشكله
اي سكريبت راح يضعه المستخدم راح بالطبع يستخدم mail() بال php وبالتالي mail راح تستخدم البرنامج اللي يرسل الايميلات الموجود في php.ini في العاده هو sendmail
والحل كالتالي :
سوف نقوم بعمل نسخه من sendmail اخرى و نضع اكواد تنفيذيه لملف sendmail تقوم هذه الاكواد اولا بتسجيل الموقع اللي راح يرسل الايميل ومكان الاسكريبت داخل ملف log
الفائده :
راح نعرف مين اللي جالس يرسل ايميلات باستخدام سكريبت حتى لو كان nobody
الخطوات :
1: ايقاف exim
كود:
/etc/init.d/exim stop
2: عمل نسخه اخرى لل sendmail وهي النسخه الاصليه
كود:
mv /usr/sbin/sendmail /usr/sbin/sendmail.hidden
3: نعمل sendmail اخر راح نضع فيه الاكواد
كود:
pico /usr/sbin/sendmail
نكتب فيه
كود:
#!/usr/local/bin/perl
# use strict;
use Env;
my $date = `date`;
chomp $date;
open (INFO, ">>/var/log/spam_log") || die "Failed to open file ::$!";
my $uid = $>;
my @info = getpwuid($uid);
if($REMOTE_ADDR) {
print INFO "$date - $REMOTE_ADDR ran $SCRIPT_NAME at $SERVER_NAME \n";
}
else {
print INFO "$date - $PWD - @info \n";
}
my $mailprog = '/usr/sbin/sendmail.hidden';
foreach (@ARGV) {
$arg="$arg" . " $_";
}
open (MAIL,"|$mailprog $arg") || die "cannot open $mailprog: $!n";
while (<STDIN> ) {
print MAIL;
}
close (INFO);
close (MAIL);
ثم
كود:
chmod +x /usr/sbin/sendmail
4: ننشأ ملف لكتابة المخرجات فيه وهو اهم مافي الموضوع
كود:
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
اخيرا
كود:
/etc/init.d/exim start
انتهى الموضوع
الحين اي ايميل راح يرسل من nobody راح يتسجل داخل ملف /var/log/spam_log
وقت ماتحس ان في ارسال كثير او لود عالي او exim مسبب مشاكل حلك صار
كود:
tail - f /var/log/spam_log
او
كود:
pico /var/log/spam_log
اقرأ المحتويات وراح تعرف مين اللي جالس يرسل وفين مصدر الارسال
* حتى لا يصبح حجم الملف كبير بعد فتره لازم يتم مسحه كل اسبوع
قريت الموضوع قبل يومين ودوبي انتهيت من مشكلة ال spam والحين كتبت لكم هذا الحل لموضوع الارسال عن طريق nobody
ان شاءالله تستفيدوا من الموضوع وان شاءالله يكون الحل هو المطلوب
----------------------------------------------------------------------------------
لدي استفسار :
اذا قمت يتفعيل تشغيل ال php كـ cgi مالحل عندما اريد وضع مركز تحميل اي مالحل مع توفر تصريح 0777 لمجلد معين وايضا تنفيذ بعض الاوامر باستخدام htaccess في نفس المجلد