Zadejte hledaný výraz...

PHP – odříznutí přístupu scriptům

Zdravím,
mám takový menší problém. Mnoho lidí z našeho serveru tahá data od nás přes skripty jejich scripty v PHP a tím nám vytěžují server.
Potřeboval bych vytvořit nějaké řešení, které by například po 50-ti dotazech za krátkou dobu automaticky uživatele odřízlo a postavilo to před něj nějakou captchu, po jejím správném vyplnění by se mu počet vynuloval a mohl s tím pracovat dále (počítám s tím, že to sníží alespoň o něco zátěž a zabrání kradení dat, jelikož se zlodějům tak moc captcha opisovat chtít nebude.
Jako první řešení mě samozřejmě napadlo propojení s databází, která by to ukládala a při nějakém překročení by to zablokovala. Otázka ale je, zda by to při velké návštěvnosti zbytečně nezatěžovalo databázi.
Řešili jste někdy něco podobného? Máte nějaké řešení?
Díky za pomoc!
3. 1. 2013 12:29:53
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848346
Co je velka navstevnost?
3. 1. 2013 12:33:57
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848345
cca 2000 zobrazených stránek za minutu. Bohužel ale po předchozím programátorovi hrozně optimalizovaná většina scriptů.
3. 1. 2013 12:36:50
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848344
McFly
verified
rating uzivatele
(4 hodnocení)
3. 1. 2013 13:03:19
Osobně využívám pro jednu aplikaci něco podobného s tím, že mám povolen určitý počet dotazů za hodinu z jedné IP adresy a po jeho překročení dojde k blokaci. Pokud během prvních 5ti minut překročí, dalších 55 minut má smůlu. Pokud překročí počet dotazů v 50 minutě, počká si dalších 10 minut a pak se může zase dotazovat. Funguje to dobře, vždy se najde někdo, kdo je na chvíli blokován, ale takových je minimum, většinou nějaký automatizovaný skript. :)
3. 1. 2013 13:03:19
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848343
Scorp
verified
rating uzivatele
(13 hodnocení)
3. 1. 2013 13:05:42
Ideálne sa dotazy nedostanú ani k php
nginx
http://wiki.nginx.org/HttpLimitReqModule
pri apache budú určite nejaké mods tiež, nepoznám ich ale
príp. pred apache vraziť squid...?
3. 1. 2013 13:05:42
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848342
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
3. 1. 2013 13:20:35
co takhle fail2ban?
3. 1. 2013 13:20:35
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848341
fail2ban či jiné omezení na serveru bohužel použít nemůžu, je to webhosting.
3. 1. 2013 13:29:07
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848340
hm
verified
rating uzivatele
(20 hodnocení)
3. 1. 2013 17:59:05
na jednom systemu mam omezeni tak ze to pocita pzadavky za minutu a kazdou novou minutu pocita zas od nuly kdyz zaznam u IP prekroci limit skonci to rovnou chybovkou, po minute to zas jde ale zase jen nakej omezenej ocet pozadavku (jde smaozrejme nastavit ruzne ty limity i ten casove usek) db to moc nezatezuje, obycejny lidi to vubec nevlivni a aumticky parsery to rusi spolehlive, nez obchazet tohle tak radsi kradou jinde
3. 1. 2013 17:59:05
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848339
Dominique
verified
rating uzivatele
(5 hodnocení)
3. 1. 2013 19:18:42
mame reseni pomoci autorizacni sluzby a spustime ji oficialne naplno radove v nekolika dni.
vice info v PM. lze to jiz zatim pouzivat a testovat zdarma.
3. 1. 2013 19:18:42
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848338
Bluemoon uka
3. 1. 2013 19:53:12
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848337
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
3. 1. 2013 19:55:47
jestli jsi ještě nic nenalezl tak můžeš testnout moje dnešní kondiční programování (banlist) mezi marketingem a ekonomikou ;o) hezký nový rok
http://bit.ly/1312hML
Je postaven na SQLITE3 DB a na sledování IP adres za časový úsek (time_limiter ). Pokud je za stanovený časový úsek (time_limiter ) více dotazů (counter_limiter) na stejné IP adrese, tak se zapíše do dočasné DB a zobrazí se dočasný ban. Pak se automaticky obnoví přístup (deleteban_timer) . Pokud jsou znovu porušeny stejné pravidla, jde automaticky do trvalého banu.
$banlist->time_limiter = 60; //v sekundách sledovaný časový úsek
$banlist->counter_limiter = 20; //v počtech dotazů za time_limiter
$banlist->deleteban_timer = 600; //v sekundách kdy smaže dočasný ban
tabulky
perm (trvalý ban)
temp1 (dočasný)
temp2 (dočasný opakovaný)
sess (eviduje IP adresu)
EDIT: temp1 lze mazat např. jednou za hodinu deleteban.php
3. 1. 2013 19:55:47
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848336
Dominique
verified
rating uzivatele
(5 hodnocení)
3. 1. 2013 20:01:26
planuji napsat specifikace do blogu jiz brzo
Je to jednoduche, ale zase zavisle na nasich sluzbach, to rikam uprimne.
3. 1. 2013 20:01:26
https://webtrh.cz/diskuse/php-odriznuti-pristupu-scriptum/#reply848335
Pro odpověď se přihlašte.
Přihlásit