Changeset 267 for trunk/global.php


Ignore:
Timestamp:
Dec 21, 2009, 10:48:41 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Nově přepracován systém generování značkovacích pravidel mangle firewallu. Pro snížení počtu pravidel procházených při značkování packetu, jsou adresy rozdělovány do podskupin. Díky tomu je snížen rozptyl mezi nejmenším a nejvyšším početem procházených pravidel.
  • Upraveno: Přepracovány funkce pro práci s IP adresami typu IPv4. Přehledněji zpracováno jako třída.
  • Přidáno: Tabulka v databázi pro persistentní přiřazení Id čísla podsítě pro generování pravidel mangle firewallu.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/global.php

    r247 r267  
    1010include('config.php');
    1111include('database.php');
    12 include('error.php');
     12//include('error.php');
    1313include_once('code.php');
    1414$Database = new Database($Config['Database']['Host'], $Config['Database']['User'], $Config['Database']['Password'], $Config['Database']['Database']);
     
    233233}
    234234
    235 function ToVpnIp($Host)
    236 {
    237   if($Host['external_ip'] == '')
    238   {
    239     $Parts = explode('.', $Host['IP']);
    240     return('172.16.'.$Parts[2].'.'.$Parts[3]);
    241   } else
    242   {
    243     return($Host['external_ip']);
    244   }
    245 }
    246 
    247235function TimeToMysqlDateTime($Time)
    248236{
     
    264252}
    265253
    266 function ToCzfreeIp($Host)
    267 {
    268   $Parts = explode('.', $Host['external_ip']);
    269   if($Host['name'] == 'CENTRALA') return('10.144.1.1');
    270     else return('10.144.200.'.$Parts[3]);
    271 }
    272 
    273254function HumanDate($Time)
    274255{
     
    280261
    281262// Zobrazení číselný seznamu stránek
    282 function PagesList($URL,$Page,$TotalCount,$CountPerPage)
    283 {
    284   $Count = ceil($TotalCount/$CountPerPage);
     263function PagesList($URL, $Page, $TotalCount, $CountPerPage)
     264{
     265  $Count = ceil($TotalCount / $CountPerPage);
    285266  $Around = 10;
    286267  $Result = '';
     
    328309  $RemoteAddr = GetRemoteAddress();
    329310  $RemoteAddr = explode('.', $RemoteAddr);
    330   return(!(($RemoteAddr[0] == 192) and ($RemoteAddr[1] == 168)));
     311  return(!(($RemoteAddr[0] == 10) and ($RemoteAddr[1] == 145)));
    331312}
    332313
     
    351332}
    352333
    353 function IPv4ToInt32($IP)
    354 {
    355   $Parts = explode('.', $IP);
    356   return(($Parts[0] << 24) | ($Parts[1] << 16) | ($Parts[2] << 8) | $Parts[3]);
    357 }
    358 
    359 function Int32ToIPv4($Value)
    360 {
    361   return(implode('.', array(($Value >> 24) & 255, ($Value >> 16) & 255, ($Value >> 8) & 255, ($Value & 255))));
    362 }
    363 
    364 function CIDRToAddressRange($Subnet, $Mask)
    365 {
    366   $SubnetBinary = IPv4ToInt32($Subnet);
    367   $Hostmask = (1 << (32 - $Mask)) - 1;
    368   $Netmask = 0xffffffff ^ $Hostmask;
    369   $From = $SubnetBinary & $Netmask;
    370   $To = $From + $Hostmask;
    371   return(array('From' => Int32ToIPv4($From), 'To' => Int32ToIPv4($To)));
    372 }
    373 
    374 function IsAddressInSubnet($Address, $Subnet, $Mask)
    375 {
    376   $AddressBinary = IPv4ToInt32($Address);
    377   $SubnetBinary = IPv4ToInt32($Subnet);
    378   $Netmask = 0xffffffff ^ ((1 << (32 - $Mask)) - 1);
    379   if(($AddressBinary & $Netmask) == ($SubnetBinary & $Netmask)) return(true);
    380     else return(false);
    381 }
    382 
    383334function RouterOSIdent($Name)
    384335{
     
    391342function NotBlank($Text)
    392343{
    393   if($Text == '') return('&nbsp'); else return($Text);
     344  if($Text == '') return('&nbsp');
     345    else return($Text);
    394346}
    395347
Note: See TracChangeset for help on using the changeset viewer.