Parašė Tarnautojas· 2007 Bal. 12 20:04:55
#1
Galvojau kad problema su serverio apkrovimu, bet ne tai:
serverio loadavg ---------- Perkėlimas nepadės
pažiurėjau
mysql - labai daug užsilockinusiu užklausų (apie 370):
gal žinot kas jas generuoja?
---------------
Gal kas galite paaiškinti, ką tai reškia ir su ko valgoma?
Parašė ozzWANTED· 2007 Bal. 12 20:04:12
#2
botas paleistas greičiausiai kad serverio darbą trukdytų, arba kokia spec. DDos ataka...
Parašė Tarnautojas· 2007 Bal. 12 20:04:01
#3
Kaip tiksliai tai įsiaiškinti, ar ką dabar daryti?
Parašė Tarnautojas· 2007 Bal. 12 20:04:01
#4
Tai atsiranda trumpam rišis su SQL DB, tai dingsta, nors nusišauk, nesuprantu kas darosi.
Parašė BloodKiller· 2007 Bal. 14 00:04:08
#5
Tarnautojas parašė:
Tai atsiranda trumpam rišis su SQL DB, tai dingsta, nors nusišauk, nesuprantu kas darosi.
Siulyciau padaryti toki bajeriuka, kaip leidima vykdyti uzklausa per tam tikra laiko intervala. Tarkime intervalas lygus 20s. Jeigu kas nors sugalvoja pavaryti tokia ataka, galime vykdyti nukreipima i tuscia index.html faila. :D Va pavyzdys. :)
<?php
/*CREATE TABLE log (
id BIGINT (20) NOT NULL AUTO_INCREMENT,
ip VARCHAR (20) NOT NULL,
time BIGINT (20) NOT NULL,
PRIMARY KEY (id)
);*/
//Irasome duomenis i loga
dbquery("INSERT INTO log (ip,time) VALUES ('".$_SERVER['REMOTE_ADDR']."','".(time()+20)."');");
//Istraukiame duomenis is logo
$result = dbquery("SELECT * FROM log WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
//Vykdome salyga ir tikriname ar kartais kas nors nesugalvojo uzkrauti puslapio anksciau nei per 20s
if (!dbrows($result) || dbcount("(*)","log","WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND sec > ".time())) fallback("index.html");
?>
Nuo labai galingu ataku, kuriomis yra uzlauziamas web serveris, tokiais skriptais neapsiginsi, taciau
MySQL nuo paprastu ataku apsaugoti tikrai galima, jeigu tik zinosi kaip panaudoti visa tai. :)
Redagavo BloodKiller· 2007 Bal. 14 00:04:28