Jiné : phpRS Fórum
Na něco jsme zapomněli?
phpRS - redakční a informační systém
Nový Ban IP adres
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2011-08-19, 21:07

Nutnost blokování pro potřeby vnitřní podnikové sítě mne inspirovala k napsání pluginu pro zákaz přístupu. Inspiroval jsem se z pluginu banip, ale ten mi moc nevyhovoval. Potřeboval jsem povolit přístup pouze z některých adres a to stávající plugin neumožňoval.
Můžete stahovat na stránkách www.jirj.wz.cz
Kódování windows1250


POPIS:

Nový plugin ban_ip pro phpRS 2.8.x


Plugin pro funkci BANOVÁNÍ IP ADRES.
Postup instalace:
1. nakopírovat adresáře ze souboru ban_ip.zip do adresáře phpRS;
2. standardním způsobem naistalovat plugin do systému phpRS;
3. pokud není tabulka vytvořena, instalace se postará o její vytvoření sama;
4. do souboru, který chcete znepřístupnit zvoleným IP adresám vložte na začátek souboru uvedený kód.

// banovani adres
include_once("plugin/ban_ip/ban_ip.php");

5. v administraci nastavte IP adresy pro které chcete blokovat, či povolit přístup.


Popis funkce:
Plugin umožňuje zadávat IP adresy konkrétní nebo jejich rozsah (10.10.%.% - od 10.10.0.0 do 10.10.255.255).
Administrátorovi je umožněno blokovat či povolit jakoukoliv platnou IP adresu zadáním v administračním rozhraní.


Příklad:
Požadujeme povolit pouze IP adresu 192.168.0.1 a ostatní IP zakázat.
V menu zadáme adresní rozsah 192.168.0.%, označíme volbu "zakázána" a uložíme. Dále zadáme IP adresu 192.168.0.1, označíme volbu "povolena" a uložíme.
Vyplnění všech položek (tedy i poznámky) je nutné!

Touto volbou dosáhneme požadovaného stavu.
Pokud budeme v budoucnosti chtít povolit ještě např. IP adresu 192.168.0.10, zadáme novou IP adresu 192.168.0.10, označíme volbu "povolena" a uložíme.


Pro vnitřní sítě je tato volba vhodná zejména pokud potřebujeme povolit přístup na stránky jen z určitého IP adresního rozsahu.
Požadujeme-li přístup pouze z adresního prostoru 10.10.%.% postupujeme takto:
Zadáme novou IP adresu %.%.%.%, označíme volbu "zakázána", přidáme vhodnou poznámku a uložíme.
Zadáme novou IP adresu 10.10.%.% označíme volbu "povolena", přidáme vhodnou poznámku a uložíme.
Mimo IP adresy 10.10.0.0 až 10.10.255.255 se nikdo na požadované soubory(*) nepodívá.

Pokud požaduje zablokovat celý web, stačí vložit kód do souboru index.php hned za - include_once("myweb.php");

(*) - soubory do nichž byl vložen kód - include_once("plugin/ban_ip/ban_ip.php");

Příjemnou práci se systémem phpRS.


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 3×. Poslední úprava Lonanek v 20.08.2011 19:05.

Re: Nový Ban IP adres
Zaslán uživatelem/kou: marty (IP adresa zaznamenána)
Datum: 2011-08-21, 21:37


Re: Nový Ban IP adres
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-08-22, 10:11

OT: Fajn nápad. Len poznámka k tomu, ako to riešim vo firemnom prostredí ja. Apache umožňuje nastavenie sieťového rozhrania pomocou direktívy listen. Tu nastavujem IP adresu VPN siete, tak aby prístup bol povolený len staniciam vo virtuálnej privátnej sieti. Takto je ošetrené, že k serveru má prístup len ten, kto je prihlásený vo VPN. Prístup na úrovni jednotlivých IP už neriešim, no dá sa to veľmi jednoducho aj na úrovni Apache pomocou nastavenia (aj v .htaccess):

<Directory /var/www/intranet/>
Order allow,deny
Allow from 10.1.0.0/24
</Directory>

[http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html]

Možnosti autentifikácie priamo v Apache sú široké, dá sa využiť doménový radič, LDAP server, Kerberos autentifikácia. Výsledok je ten, že Apache autorizuje automaticky užívateľa podľa Windows účtu, pod ktorým je prihlásený.

Do budúcna by sa pomocou tohto pluginu (BanIP) mohol synchronizovať zoznam adries z blacklistu. To by mohli byť spammeri alebo útočníci. Od posledných útokov na phpRS weby mi beží mi jeden script, ktorý takýto blacklist automaticky vytvára ;-)

Re: Nový Ban IP adres
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2011-08-22, 17:43

To: pa3k
díky za velmi podrobné doplnění toho co umí Apache. Samozřejmě je na výběr a na adminovi, jakou zvolí cestu.
Patriku díky za cenné rady.
A ještě prosba - mohl by jsi plugin hodit na CW?

Synchronizaci s Backlistem nevidím problém, jde v podstatě jen o doplnění tabulky o IP adresu [textová proměnná - VARCHAR(15)] a popis [text] s nastaveným atributem BAN=1. Jen vytáhnout a vložit....


Jen bych se ještě malinko přimlouval ke všem tvůrcům pluginů, kteří "tzv." vytváří vlastní tabulky. Ne každý používá standardní předponu a tak by vytvoření tabulky měl zajistit plugin při instalaci.
A přímluva pro tvůrce phpRS - opět mít možnost tyto tabulky při odinstalaci pluginu automaticky zamést (buď formou další proměnné, nebo přímo souborem, pokud existuje [nebo je prázdný] - např. uninstal.php v adresáři pluginu).



Snažil jsem se přispět pro ty, kteří sotva zvládnou správné kódování databází a nastavení phpRS aby "makalo". :-))

Tohle je pro ty "Administrátory - uživatele" nejjednodušší cesta jak to vše obejít.





* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 4×. Poslední úprava Lonanek v 22.08.2011 17:54.

Re: Nový Ban IP adres
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-08-22, 21:22

Lonanek napísal/a:
-------------------------------------------------------
> A přímluva pro tvůrce phpRS - opět mít možnost
> tyto tabulky při odinstalaci pluginu automaticky
> zamést (buď formou další proměnné, nebo přímo
> souborem, pokud existuje - např. uninstal.php v
> adresáři pluginu).

S týmto sa do budúcna počíta. Podobný nápad sme nedávno preberali s Krišpínom a dospeli sme k rovnakému záveru.


Re: Nový Ban IP adres
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2011-08-23, 15:25

Já se to tak ve svých pluginech snažím řešit. Vždy zadávám spuštění souboru název_pluginu-tabulka.php na konci souboru plugin.php.
Jen ta odinstalace pak musí být ručně, ale v každém případě jsem potěšen zprávou o budoucím zabudování do phpRS.

OT:
Pokud by bylo potřeba HELP s připravovaným phpRS, můžeš se ozvat. Čas si snad najdu na tohle vždy... :-)



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Nový Ban IP adres
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-08-23, 15:42

Lonanek napísal/a:
-------------------------------------------------------
> v každém případě jsem potěšen zprávou o budoucím
> zabudování do phpRS.

No je to len nápad, zatiaľ nie je nič isté. Navyše tá odinštalácia je problematická, pretože je to nevratný úkon a dáta by sa stratili. Osobne som ale za s upozornením na vykonanie zálohy db pred odinštaláciou. Je to ale hudba budúcnosti...


Re: Nový Ban IP adres
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2011-08-23, 19:18

No nevím, pokud smažu plugin (asi proto, že jej nechci používat), pak jsou jeho tabulky v databázi zbytečné. Stačí tedy pouze vložit dotaz na výmaz těchto "nepotřebných" tabulek.

Myslím, že zabudování není takový problém.
1. buď nutnost existence souboru (např.uninstall.php) - pouze problém se staršími pluginy, který soubor nemají
2. test na přítomnost uninstalačního programnu a jeho spuštění v případě nalezení.

Je to na diskuzi a zvažování......


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Nový Ban IP adres
Zaslán uživatelem/kou: (IP adresa zaznamenána)
Datum: 2013-07-03, 14:13

Ahoj,
používám BANIP a nyní jsem se setkal s IPV6 a adresou např. 2a01:28:ca:63:121:3:
Je možné tento plugin použít i na tyto adresy? Nebo je nutná úprava. Myslím, že celkově tyto adresy mohou v RS dělat bordel.
Děkuji za odpověď.

Zjistil jsem na [http://dig.whois.com.au/dig/aarra.cz]
toto, ale nevím jak tuto adresu v banip zakázat, protože nějak automaticky načítá vše furt dokola, ankety články, návštěvnost apod. Celkem každou minutu.



Celkem upraveno 2×. Poslední úprava roman v 03.07.2013 15:11.

Re: Nový Ban IP adres
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2013-07-03, 20:33

Pridaj do .htaccess:

Order allow,deny
Deny from 2a01:28:ca:63:121:3:
Allow from all

Re: Nový Ban IP adres
Zaslán uživatelem/kou: (IP adresa zaznamenána)
Datum: 2013-07-04, 07:43

Děkuji za radu,
nyní se mi tam ukázala zase tato
2a03:2880:2110:dff3::
a pak stejná jen o : na konci navíc
takto
2a01:28:ca:63:121:3::
Ten příkaz je zákaz vstupu, jestli jsem to dobře pochopil, ale jak tam přidat další?
Mám hodně problémy s anonimizéry, ale ty jsem pomocí IPBAN zvládl. Nyní tam mám tyto adresy, ale nevím vůbec co to je.
Děkuji za radu.

Ted tam mam:
# znepristupneni config.php zvenku
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

RewriteEngine On

# Doplnění lomítka na konci URL
RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301]

# Podmínky
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^aktivace-inzeratu/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=aktivace-inzeratu [L,QSA]
RewriteRule ^inzerce/(([0-9]+)-[^/]+)?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_inz=$2 [L,QSA]
RewriteRule ^inzerce/(strana-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&strana=$2 [L,QSA]
RewriteRule ^inzerce/([^/]+-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_kat=$2 [L,QSA]
RewriteRule ^inzerce/([^/]+-l([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&lokalita=$2 [L,QSA]
RewriteRule ^inzerce/([^/]+-l([0-9]+))?/(strana-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&lokalita=$2&strana=$4 [L,QSA]
RewriteRule ^inzerce/([^/]+-([0-9]+))?/(([0-9]+)-[^/]+)?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_kat=$2&id_inz=$4 [L,QSA]
RewriteRule ^inzerce/([^/]+-([0-9]+))/(strana-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_kat=$2&strana=$4 [L,QSA]
RewriteRule ^inzerce/([^/]+-([0-9]+))?/([^/]+-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_predka=$2&id_kat=$4 [L,QSA]
RewriteRule ^inzerce/([^/]+-([0-9]+))?/([^/]+-([0-9]+))?/(([0-9]+)-[^/]+)?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_predka=$2&id_kat=$4&id_inz=$6 [L,QSA]
RewriteRule ^inzerce/([^/]+-([0-9]+))?/([^/]+-([0-9]+))?/(strana-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_predka=$2&id_kat=$4&strana=$6 [L,QSA]
RewriteRule ^inzerce/nabidka/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_typ=1 [L,QSA]
RewriteRule ^inzerce/nabidka/(strana-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_typ=1&strana=$2 [L,QSA]
RewriteRule ^inzerce/poptavka/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_typ=2 [L,QSA]
RewriteRule ^inzerce/poptavka/(strana-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=inzerce&id_typ=2&strana=$2 [L,QSA]
RewriteRule ^novy-inzerat/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=novy-inzerat [L,QSA]
RewriteRule ^moje-inzeraty/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=moje-inzeraty [L,QSA]
RewriteRule ^odhlaseni/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=uprava-inzeratu&odhlaseni=1 [L,QSA]
RewriteRule ^pravidla/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=pravidla [L,QSA]
RewriteRule ^prodlouzeni-inzeratu/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=prodlouzeni-inzeratu [L,QSA]
RewriteRule ^uprava-inzeratu/?(vymazani-obrazku-([0-9]+))?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=uprava-inzeratu&id_del_obr=$2 [L,QSA]
RewriteRule ^vyhledavani/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=vyhledavani [L,QSA]
RewriteRule ^vyhledavani/(strana-([0-9]+))?/?([^/]+)?/?([^/]+)?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=vyhledavani&strana=$2&hledtext=$3&dalsi=$4 [L,QSA]
RewriteRule ^vymazani-inzeratu/$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=vymazani-inzeratu [L,QSA]
RewriteRule ^zaslani-zapomenuteho-hesla/([^/]+)?/?$ %{DOCUMENT_ROOT}/inzertnisystem.php?page=zaslani-zapomenuteho-hesla&emailadr=$1 [L,QSA]

# presmerovani stranky pri chybe
ErrorDocument 404 /index.php
ErrorDocument 403 /index.php


Upravil jsem tedy záhlaví na:
# znepristupneni config.php zvenku
<Files "config.php">
Order allow,deny
Deny from 2a01:28:ca:63:121:3:
Allow from all
</Files>

S touhle změnou mi přestaly fungovat stránky:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email]root@endora.cz[/email] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Zkoušel jsem to i takto, ale nic
<Files "config.php">
Order Allow,Deny
Deny from 2a01:28:ca:63:121:3:
Deny from All
</Files>

<Files "config.php">
Order Allow,Deny
2a01:28:ca:63:121:3:
Deny from All
</Files>



Celkem upraveno 4×. Poslední úprava roman v 04.07.2013 08:19.

Re: Nový Ban IP adres
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2013-07-10, 17:52

TU adresu tam kam jste vložil vyjměte.
Zákaz IP adres se píše na samostatný řádek - NE DO PODMÍNKY KE CONFIG.PHP

Pokud chcete zakázat nějaký rozsah IP adres (např 176.53.114.1 - 176.53.114.255) zadáte řádek ve tvaru:
Deny from 176.53.114


Například se můžete inspirovat [http://4webmaster.cz/post1639.html] nebo [http://www.webmasterworld.com/apache/3687465.htm]



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Nový Ban IP adres
Zaslán uživatelem/kou: (IP adresa zaznamenána)
Datum: 2013-07-10, 18:20

Na klasickou IP mam implementovan BAN IP, ale pro ty "jiné" adresy jsem to zatím udělal takto a zatím mi tam neleze

<?php
$ip_adr = array(
"2a01:28:ca:63:121:3:","2a01:28:ca:63:121:3::",
"66.249.66.193",
"66.249.72.106");

if (in_array($_SERVER['REMOTE_ADDR'] , $ip_adr)) {
echo "Přístup na tyto stránky máte zakázaný! Pokud se domníváte, že neoprávněně, napište nám na info(at).cz :)";
exit();
}
######################################################################
# phpRS Configuration 1.3.2
######################################################################

// Copyright (c) 2001-2005 by Jiri Lukas ([email]jirilukas@supersvet.cz[/email])
// [http://www.supersvet.cz/phprs/]
// This program is free software. - Toto je bezplatny a svobodny software.



Celkem upraveno 1×. Poslední úprava roman v 11.07.2013 08:46.



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.