2008/12/31

Хэрэглэгчийг IP хаягаар нь ялган хандах эрхийг хаах

Мэдээж таны вэб сайтыг хэрэглэгчид бүгд боловсон хүмүүс биш нь мэдээж. Yргэлж таны сайтын форум, зочдын дэвтэрт бүдүүлэг хараал бичдэг ч юмуу, ямар нэгэн таньд таалагдахгvй зохисгүй үйлдэл хийгээд байгаа хэрэглэгчээс та төвөггүйхэн салж болно. Доорхи хэсэг PHP кодыг ашиглаад үзээрэй. Эхлээд та ямар нэгэн .TXT төрлийн файл нээж үүсгээд тэр дотроо хаах IP хаягнуудаа |127.0.0.1| гэх мэт бүтэцтэй бичих хэрэгтэй. Мэдээж олон хаягыг үргэлжлүүлэн бичиж болно.

Ж.нь: |127.0.0.1||255.255.255.255||202.139.0.65|/

$filename = "haagdsan.txt" // 1

$handle = fopen($filename, "r"); // 2
$hayagnuud = fread($handle, filesize($filename));
fclose($handle);

$ip = $REMOTE_ADDR; // 3

if(eregi("|".$ip."|", $hayagnuud)){ // 4

echo "Та хандах эрхгvй. Таны сайтруу хандах эрхийг хаасан байна.";

exit(); // 5

}else{

echo "Та хандах эрхтэй. Тавтай морилно уу."; // 6

}

?>Тайлбар:
1 - Хаагдсан IP хаягнуудыг бичиж хадгалсан TXT файлын нэр / өөр директорт байгаа бол замыг нь цуг бичнэ/
2 - Энэ хэсэгт "haagdsan.txt" файлын агуулгыг $hayagnuud хувьсагчид олгож байна.
3 - Хэрэглэгчийн IP хаягыг олж байна.
4 - eregi(); функц нь тэмдэгт мөр дундаас зааж өгсөн тэмдэгтийг /мөр байж болно/ хайж шалгадаг ба хэрэв байвал TRUE байхгvй бол FALSE утга буцаадаг. Манай энэ тохиолдолд Хэрэглэгчийн IP хаяг "haagdsan.txt" бичигдсэн эсэхийг шалгаж байна.
5 - IP хаяг "haagdsan.txt" файлд бичигдсэн байгаа болхоор цааш хандах эрхийг хааж байна. exit(); функц нь үйлдлийг шууд зогсоодог ба энэ мөрөөс цааш хуудас уншигдахгvй шууд зогсоно. IP нь хаагдсан хэрэглэгч энэ мөрөөс цаашхи ямарч мэдээлэл үзэж чадахгүй гэсэн үг. Дээрх кодыг Вэб хуудасныхаа дээд хэсэгт /толгойн хэсэгт/ хийвэл тохиромжтой.

Эх сурвалж

No comments: