Autor Zpráva
qwertz123
Profil *
Ahoj, potrebuju ochranit web proti spamu. CPATCHA testy uz moc nezabiraji, tak ze jsem to vyresi pomoci .htaccess zakazanim problematikych IP (prevazne cina), tedy:
order allow,deny
deny from 165.213.0.0/16
# ostani blokovany cinsky IP ...
deny from 203.175.192.0/18
allow from all
Rad bych ale povolil z techto problematickych adres pouze cteni webu a zadne odesilani dat. Vim, ze by to asi bylo nejlepsi resit v PHP, ale nechce se mi kvuli tomu upravovat redakcni system. Tak me nepadlo, zda by neslo vyuzit <Limit> v apachi. Predstavuju si to asi takhle:
<Limit HEAD GET POST PUT DELETE> 
    order allow,deny
    deny from 165.213.0.0/16
    # ostani blokovany cinsky IP ...
    deny from 203.175.192.0/18
    allow from all
</LIMIT> 

<Limit HEAD GET>
    order allow,deny
    allow from all
</Limit>
Je to realne, nebo je to nesmysl?
Davex
Profil
Nevýhoda tohoto způsobu je v tom, že se bude při každém HTTP požadavku na server načítat objemný soubor .htaccess a porovnávat IP adresa klienta s dlouhým seznamem zakázaných IP adres. Je to plýtvání výkonem serveru. Lepší by byla změna antispamového systému na nějaký spolehlivější nebo kontrolovat IP adresu pouze při ukládání v PHP skriptu.
qwertz123
Profil *
S temi IP me to zajima spis teoreticky, jestli by to slo.

Zajimavejsi by bylo kazdemu uzivateli vygenerovat SSL certifikat, ktery by si nainstalovat do prohlizece. V apachi bych nastavil SSL auth. Psat komentare by pak mohli pouze lidi s certifikatem (napr. zamestnanci) a zbytek sveta by mohl pouze cist. To se mi zda mnohem bezpecnejsi, nez PHP session...

Tedy neco jako:
<Limit HEAD GET POST PUT DELETE> 
    SSLVerifyClient none
    SSLCACertificateFile conf/ssl.crt/ca.crt
    <Location /secure/area>
        SSLVerifyClient require
        SSLVerifyDepth 1
    </Location>
</LIMIT> 
 
<Limit HEAD GET>
    order allow,deny
    allow from all
</Limit>

Je to realizovatelne? Mohlo by to fungovat?
Davex
Profil
qwertz123:
Je to realizovatelne? Mohlo by to fungovat?
Ne. SSL certifikáty nejdou konfigurovat v .htaccess.
qwertz123
Profil *
A kdybych toto nastaveni vlozil primo do konfiguracniho souboru apache v sekci VirtualHost (/etc/apache2/sites-enabled/000-default) ?
Davex
Profil
qwertz123:
SSL se dá nakonfigurovat v souboru /etc/apache2/sites-available/default-ssl se symlinkem vytvořeným do .../sites-enabled/..., aby bylo přístupné přes https a běželo na standardním portu 443, ale na přidávání komentářů mi to připadá jako kanón na vrabce. Bohatě by stačilo povolit komentování přihlášeným uživatelům s ručně aktivovanou registrací.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: