abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | IT novinky

    Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování

    … více »
    Ladislav Hagara | Komentářů: 1
    dnes 12:55 | Nová verze

    Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 2
    dnes 12:33 | IT novinky

    Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.

    Ladislav Hagara | Komentářů: 9
    včera 04:55 | Nová verze

    Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.

    Ladislav Hagara | Komentářů: 5
    včera 02:44 | Komunita

    V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.

    lkocman | Komentářů: 5
    9.8. 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 8
    9.8. 15:55 | Zajímavý software

    WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.

    Indiánský lotr | Komentářů: 0
    8.8. 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 11
    8.8. 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 1
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (46%)
     (21%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 338 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Blacklist pro php

    17.9.2012 14:17 | Přečteno: 922× | Jen tak na okraj

    Je tomu půl roku, co jsem zde psal blogpost na téma zabezpečení mediawiki. Dlouhou dobu byl klid, ale v průběhu léta se objevily první vlaštovky, které si našly dírku a začaly se do naší mediawiki nabourávat zneužíváním stránek starých, již neaktualizovaných, webů. Nezbylo než pořešit situaci jinak - radikálněji.

    Napsal jsem si tedy malou php funkci, která zařízne další zpracování php skriptu, pokud jde klienta ze "zakázané" domény či adresy. Funguje zcela stupidně, ale spolehlivě. Přes nslookup se zjistí pro IP klienta doména, která se pak ověří proti seznamu zakázaných adres a domén. Nemá-li klient doménu, pouze IP, tak se ověřuje IP adresa.

    function testRemoteClientAddr($ip) {
        if(!empty($ip)) {
            exec("nslookup -type=MX ".$ip." | grep -E -m1 'in-addr.arpa|ip6.arpa'" , $result);
            $dnszaznam = explode(" ", $result[0]);
            //print_r($dnszaznam);
            if ($dnszaznam[0] == '**') {
                $zaznam = $ip;
            } else {
                $zaznam = $dnszaznam[count($dnszaznam) - 1];
            }
            $blacklist = '/etc/blacklist';
            if (is_file($blacklist)) {
                $denyhost = file($blacklist);
                $n = 0;
                while (count($denyhost) > $n) {
                    if (stristr($zaznam, trim($denyhost[$n]).'.')) {
                        return false;
                        } 
                    elseif ( $zaznam == trim($denyhost[$n]) ) {
                        return false;
                        }
                    elseif (strstr($zaznam, trim($denyhost[$n]))) {
                        return false;
                        }
                    $n++;
                    }
                }
            }
            return true;
        }
    
    if (testRemoteClientAddr($_SERVER['REMOTE_ADDR']) == false) {
        exit();
        }
    

    Funkce není nijak vázaná na mediawiki a lze ji tak použít na libovolné php stránce. Obsah souboru /etc/blacklist je jednoduchý. Následující kousek obsahu uvádím jen pro ilustraci..

    .skynetlink.com
    2001:4ba0:fff9:178::2
    .teda.net
    iasi.fiberlink.ro
    
           

    Hodnocení: 20 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    17.9.2012 14:43 loki
    Rozbalit Rozbalit vše Re: Blacklist pro php
    gethostbyaddr(...) ?
    17.9.2012 16:19 misch | skóre: 3
    Rozbalit Rozbalit vše Re: Blacklist pro php
    to bude rychlost, dotaz na DNS při každém přístupu ...
    17.9.2012 19:03 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Neřekl bych, že je to nějaká tragédie.
    17.9.2012 22:08 sigma
    Rozbalit Rozbalit vše Re: Blacklist pro php
    To už bude horší ten exec / nslookup, navrch ještě s rourou na grep. Na každé zobrazení stránky to znamená spuštění 2 procesů. Horší než kdyby to celé jelo přes CGI (i když teda inicializace PHP bude stát víc než nslookup+grep). Ale pro tuhle potřebu to asi nemusí až tak vadit.
    17.9.2012 20:38 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Za mých mladých let se používal /etc/hosts.deny.
    17.9.2012 21:26 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Ten používám taky, ale v případě webu to nemá ten odpovídající efekt.
    Petr Tomášek avatar 18.9.2012 08:03 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Blacklist pro php
    multicult.fm | monokultura je zlo | welcome refugees!
    18.9.2012 08:57 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Blacklist pro php
    I tohle jsem zkoušel. V takovém případě útočník záhy zjistil, že je doména blokovaná a začal to zkoušet odjinud. Řešení, které jsem použil má tu výhodu, že klient, který leze z blokované domény není serverem odmítnut, "jenom" se přestane zpracovávat skript. Takže sice dál buší jak hluchý do vrat, ale server to zatěžuje minimálně, protože mu vrací stránku z cache.
    18.9.2012 13:51 Roman DAVID | skóre: 24 | Brno
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Zkuste mod_security do Apache. Mozna to bude lepsi nez to resit v PHP.
    18.9.2012 17:33 volvox | skóre: 16
    Rozbalit Rozbalit vše Re: Blacklist pro php
    No, přijde mi, že se pokoušíte vynalést kolo - sice trochu šišaté, zato vlastní ;)

    Já na tot s úspěchem používám mod_rewrite: Denying Hosts in a Blacklist
    rADOn avatar 18.9.2012 17:46 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Tohle by mělo být někde vystavený pro poučení generací budoucích. Jako odstrašující příklad.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    18.9.2012 17:53 loki
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Je to funkcni reseni daneho problemu. Jiste by to slo udelat jinak, ale kdyz to autorovi takto vyhovuje, tak proc ne...
    rADOn avatar 19.9.2012 14:51 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Spawnovat tri procesy kvuli necemu na co je v php zabudovana funkce? Kterazto neni uplne nutna, pacz staci zapnout lookupy v apacovi a dostane to pekne pod nos v $_SERVER['REMOTE_HOST'].

    Ja kdybych takovehle "funkcni reseni" udelal v praci tak me vybědujou.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    19.9.2012 23:12 CH
    Rozbalit Rozbalit vše Re: Blacklist pro php
    +1

    Ale na druhou stranu to zda se funguje a to je to podstatne, zbytek nikoho nijak zvlast nezajima ... ale radsi proboha verejne neukazovat. :)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.