عرض مشاركة مفردة
 
  #42  
قديم 05-06-2007, 11:12 PM
ArSup ArSup غير متصل
عضو
 
تاريخ التسجيل: Apr 2005
مشاركة: 109
مستوى تقييم العضوية: 20
ArSup is on a distinguished road
الافتراضي تعرف على مرسل الرسائل الإعلانية

بسم الله الرحمن الرحيم


الوقت :
10 دقايق

المتطلبات :
تكون لديك صلاحيات روت على السيرفر

الخطوه الأولى :
إدخل على سيرفر باليوزر روت أو إكتب su عشان تدخل بالروت

الخطوه الثانية :
أغلق برنامج exim كاتالي ..
/etc/init.d/exim stop

الخطوة الثالثة :
إحفظ نسخه من ملف sendmail
mv /usr/sbin/sendmail /usr/sbin/sendmail.backup

الخطوة الرابعه :
أنشئ ملف جديد sendmail يحتوي على سكربت متابعة السبام
pico /usr/sbin/sendmail

إلصق الكود التالي في الملف ...


كود PHP:
#!/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 - @infon"


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); 
الخطوه الخامسة :
غير صلاحيات ملف sendmail الجديد
chmod +x /usr/sbin/sendmail

الخطوة السادسة :
أنشئ ملف وق جديد لحفظ كل الرسائل المرسلة من سيرفرك بإستخدام سكربتات php
touch /var/log/spam_log

أعطية الترخيص 777
chmod 0777 /var/log/spam_log

الخطوة السابعة :
شغل برنامج exim ..
/etc/init.d/exim start


الخطوة الثامنة :
إرسل رسالة من اي سكربت او فورم للإرسال
إكتب الامر هذا لعرض محتويات ملف اللوق لتأكد بأن الخطوات السابقة صحيحة ..
tail - f /var/log/spam_log

مثال للخرج ...

Mon Apr 11 07:12:21 EDT 2005 - /home/alqursan/public_html/maillist - nobody x 99 99 Nobody / /sbin

/nologin


الخطوة التاسعة :
لأن ملف اللوق سوف يوقم بتخزين سطووور كثير لكل عملية إرسال .. بعد فترة بيكون حجمه كبير مره إذاً ! .... لازم نسوي هذه الخطوة


نقوم بالتعديل التالي لملف rotate إكتب الامر هذا لتحرير الملف

pico /etc/logrotate.conf

أبحث عن الكود :
كود PHP:
# no packages own wtmp -- we'll rotate them here 
/var/log/wtmp 
monthly 
create 0664 root utmp 
rotate 1 

أضيف أسفله مباشرة :

كود PHP:
# SPAM LOG rotation 
/var/log/spam_log 
monthly 
create 0777 root root 
rotate 1 


ملاحظة :
* إذا رقيت برنامج exim سوف يتغير ملف sendmail لذا إكتب الامر هذا عشان يحافظ على الملف من التغيير
chattr + i /usr/sbin/sendmail

* الآن يمكنك معرفة الي ارسل حتى لو كان في وضع nobady
منقول للفائدة






التوقيع
المهندس ياسر 0506682558
admin@arsup.net
شبكة الدعم العربي لاستضافة المواقع والمنتديات
المملكة العربية السعودية - جدة
www.arsup.net

آخر تعديل بواسطة ArSup ، 05-06-2007 الساعة 11:15 PM.
الرد باقتباس