Current time: 12-04-2020, 06:46 PM Hello There, Guest! (LoginRegister)


Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
datei includen in /gui/index.php
Author Message
fulltilt Offline
Member
***

Posts: 1,225
Joined: Apr 2007
Reputation: 5
Post: #1
datei includen in /gui/index.php
ich möchte eine datei (proxyblocker) in die /gui/index.php includen ...
wie muss ich das machen? momentan bekomme ich eine blank page, gibt es noch eine filenames in der diese datei authorisiert werden muss?
03-08-2012 01:01 AM
Find all posts by this user Quote this message in a reply
ephigenie Offline
Project Leader
*******
Administrators

Posts: 1,578
Joined: Oct 2006
Reputation: 15
Post: #2
RE: datei includen in /gui/index.php
nein - die gibts nicht - aber versuch mal das ganze im Debug mode Wink .. ich könnte wetten, da schmeisst ein Skript einen PHP Fehler - und du siehst ihn eben nur nicht.
Alternativ mit php :
Code:
ini_set('display_errors', 1);

am Anfang der index.php die Fehlerausgabe (temporär zumindest) wieder aktivieren.
03-08-2012 04:07 AM
Visit this user's website Find all posts by this user Quote this message in a reply
fulltilt Offline
Member
***

Posts: 1,225
Joined: Apr 2007
Reputation: 5
Post: #3
RE: datei includen in /gui/index.php
im debug bekomme ich keine fehler ... hab in den letzten 2 wochen massig logins von irgendwelchen idioten, wird von tag zu tag schlimmer ...
hier ist das script das ich includen möchte, auf einem normalen userweb funktioniert es so, im gui gibts eine blank page ...
PHP Code:
<?php

// Settings
$block_proxy_attemts        true;         // true or false
$log_proxy_attemts      true;         // true or false
$log_proxy_attemts_to   "blockedproxy.log";  // Filename or path with filename

// To use this on your own page, please add following line:
// if (block_proxys() == true AND $block_proxy_attemts == true) { exit("Proxys are not allowed to connect to this page, please connect directly"); }

// Please do not change any thing under this comment
function block_proxys()
{
    global 
$_SERVER$log_proxy_attemts$log_proxy_attemts_to;
    
$proxy_detected '0';
function 
block_proxys()
{
    global 
$_SERVER$log_proxy_attemts$log_proxy_attemts_to;
    
$proxy_detected '0';
    
$blockedheaders = array(
        
'HTTP_VIA',
        
'HTTP_X_FORWARDED_FOR',
        
'HTTP_FORWARDED_FOR',
        
'HTTP_X_FORWARDED',
        
'HTTP_FORWARDED',
        
'HTTP_CLIENT_IP',
        
'HTTP_FORWARDED_FOR_IP',
        
'VIA',
        
'X_FORWARDED_FOR',
        
'FORWARDED_FOR',
        
'X_FORWARDED',
        
'FORWARDED',
        
'CLIENT_IP',
        
'FORWARDED_FOR_IP',
        
'HTTP_PROXY_CONNECTION'
    
);


    foreach(
$blockedheaders as $i)
    {
        if (isset(
$_SERVER[$i])) { $proxy_detected++; $log .= $i.", "; }
    }


    if (
gethostbyname(ReverseIPOctets($_SERVER['REMOTE_ADDR']).".".$_SERVER['SERVER_PORT'].".".ReverseIPOctets($_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org") == "127.0.0.2")
    { 
$proxy_detected++; $log .= "TOR exit node, "; }

    if (
exists_in_rbl() == true)
    { 
$proxy_detected++; $log .= "RBL, "; }

    if (
$proxy_detected >= '1')
    {
        if (
$log_proxy_attemts == true)
        {
            if (
is_writable($log_proxy_attemts_to)) {
                
$fp fopen($log_proxy_attemts_to,"a");
                
fwrite($fp,date("Y-m-d H:i:s").": Proxy Server detected: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])." (".$_SERVER['REMOTE_ADDR'].") - Info: ".$log."\n");
                
fclose($fp);
            } else {
                exit(
"Connection Logfile is not writeable");
            }
        }
        return 
true;
    }
    else
    {
        return 
false;
    }
}

function 
exists_in_rbl() {
    
$rbls = array('http.dnsbl.sorbs.net''misc.dnsbl.sorbs.net');
    
$remote getenv('REMOTE_ADDR');

    if (
preg_match("/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/",
      
$remote$matches)) {
        foreach (
$rbls as $rbl) {
            
$rblhost $matches[4] . "." $matches[3] . "." .
                
$matches[2] . "." $matches[1] . "." $rbl;

            
$resolved gethostbyname($rblhost);

            if (
$resolved != $rblhost) {
                return 
true;
            }
        }
    }
    return 
false;
}

function 
ReverseIPOctets($inputip)
{
    
$ipoc explode(".",$inputip);
    return 
$ipoc[3].".".$ipoc[2].".".$ipoc[1].".".$ipoc[0];
}

?>

der include in die index.php
include_once("block_proxy.php");
if (block_proxys() == true AND $block_proxy_attemts == true) { exit(""); }
03-08-2012 04:18 AM
Find all posts by this user Quote this message in a reply
ephigenie Offline
Project Leader
*******
Administrators

Posts: 1,578
Joined: Oct 2006
Reputation: 15
Post: #4
RE: datei includen in /gui/index.php
mach mal aus dem exit ("Connection Logfile is not writeable") ein die("Connection .... ")

ich könnte mir vorstellen, dass der Pfad noch falsch ist ..?
Eventuell ist es eine gute idee, den Pfad absolut anzugeben -

z.B. $log_proxy_attemts_to = "/var/www/ispcp/gui/phptmp/blockedproxy.log" anstelle von blockedproxy.log.

Ansonsten das ini_set mal bitte im Skript setzen ! (vor der include Anweisung natürlich Wink )
03-08-2012 05:04 AM
Visit this user's website Find all posts by this user Quote this message in a reply
tomhb Offline
Member
***

Posts: 336
Joined: Apr 2010
Reputation: 4
Post: #5
RE: datei includen in /gui/index.php
(03-08-2012 04:18 AM)fulltilt Wrote:  ... hab in den letzten 2 wochen massig logins von irgendwelchen idioten, wird von tag zu tag schlimmer ...

ich wuerde da jetzt nicht auf noch was in die index.php frickeln, sondern
eher die Sache mit mod_security angehen. Wenn man es ein wenig
leichter vom Aufwand haben moechte koennte man auf fail2ban nehmen.

Nimm vielleicht mal Deine Lieblingssuchmaschine und schaue nach
mod_security im Zusammenhang mit snortsam.

Wir schuetzen unsre TYPO3-Logins damit seit Langem gegen unberechtigten
Zugriff. Bei ispCP muss man grad vielleicht nicht unbedingt viel Ruecksicht
auf die update-Faehigkeiten legen (huestel), doch weil es bei TYPO3 haeufig
upgrades gibt, war dieser Weg einfach eleganter. hth, obwohl am Thema vorbei.


gruss tom
03-08-2012 12:26 PM
Find all posts by this user Quote this message in a reply
fulltilt Offline
Member
***

Posts: 1,225
Joined: Apr 2007
Reputation: 5
Post: #6
RE: datei includen in /gui/index.php
hier hat sich jemand festgebissen der für jedem login eine neue IP Adresse verwendet, also proxy oder tor server verwendet ...
ich möchte das obige script noch soweit umschreiben das es auch die IP hinter dem proxy ermittelt und logged, mod_security verwende ich bereits, kann das aber nicht umsetzen.
thx ephigenie, der letzte php tag im script
Code:
?>
musste raus um das script zu includen ... session headers already send
wenn nachher alles klappt stelle ich das fertige script zu den snippets

(03-08-2012 04:07 AM)ephigenie Wrote:  nein - die gibts nicht - aber versuch mal das ganze im Debug mode Wink .. ich könnte wetten, da schmeisst ein Skript einen PHP Fehler - und du siehst ihn eben nur nicht.
Alternativ mit php :
Code:
ini_set('display_errors', 1);

am Anfang der index.php die Fehlerausgabe (temporär zumindest) wieder aktivieren.
(This post was last modified: 03-08-2012 09:12 PM by fulltilt.)
03-08-2012 08:23 PM
Find all posts by this user Quote this message in a reply
tomhb Offline
Member
***

Posts: 336
Joined: Apr 2010
Reputation: 4
Post: #7
RE: datei includen in /gui/index.php
(03-08-2012 08:23 PM)fulltilt Wrote:  ich möchte das obige script noch soweit umschreiben das es auch die IP hinter dem proxy ermittelt und logged,

Das ist nicht wirklich machbar. Jedenfalls nicht, wenn der Proxy "gut"
konfiguriert wurde (Suchbegriffe dafuer - frueher: elite-proxy oder heute:
highly anonymous proxy).

Normalerweise wird ein Proxy derart gut "versteckt", so dass Du eigentlich
gar nicht erkennen kannst, das es dort einen gibt. In Deinem Fall aber ja
scheinbar nicht, also stehen die Chancen evtl. ganz gut. Bringt Dir allerdings
bei tor u.ae. auf widerum nix. Boese Welt da draussen.


Quote:mod_security verwende ich bereits, kann das aber nicht umsetzen.

Wenn Du in dieser Hinsicht schon was probiert hast und dann evtl.
Fehlermeldungen hast, kannste die hier ja schreiben!?


gruss tom
(This post was last modified: 03-10-2012 04:38 PM by tomhb.)
03-10-2012 04:22 PM
Find all posts by this user Quote this message in a reply
fulltilt Offline
Member
***

Posts: 1,225
Joined: Apr 2007
Reputation: 5
Post: #8
RE: datei includen in /gui/index.php
hi tom, bei manchen ist das schwierig, allerdings sind tatsächlich einige logs dabei die mehr zeigen ... ich teste noch, aber das blockieren klappt gut, denn die anonymen und auch tor server werden erkannt ...
diese IPs kann man auch noch automatisiert an iptables übergeben und serverweit sperren ...
(This post was last modified: 03-10-2012 06:34 PM by fulltilt.)
03-10-2012 06:31 PM
Find all posts by this user Quote this message in a reply
tomhb Offline
Member
***

Posts: 336
Joined: Apr 2010
Reputation: 4
Post: #9
RE: datei includen in /gui/index.php
(03-10-2012 06:31 PM)fulltilt Wrote:  hi tom, bei manchen ist das schwierig, allerdings sind tatsächlich einige logs dabei die mehr zeigen ... ich teste noch, aber das blockieren klappt gut, denn die anonymen und auch tor server werden erkannt ...
diese IPs kann man auch noch automatisiert an iptables übergeben und serverweit sperren ...

http://www.illutzmination.de/typo3-mod_security.html
http://www.modsecurity.org/documentation...rence.html

Laesst sich dementsprechend auf ispCP uebertragen.
Nur mal als Denkanstoss dazu. Proxy hin oder her. Willste Proxies aergern oder nen Login schuetzen?


gruss tom
(This post was last modified: 03-13-2012 01:28 PM by tomhb.)
03-13-2012 01:20 PM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: