Changeset 418


Ignore:
Timestamp:
Apr 7, 2010, 7:46:57 AM (15 years ago)
Author:
george
Message:
  • Přidáno: Jednoduchá ochrana registrace před spamboty.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/includes/global.php

    r417 r418  
    128128    $System->Link('/statistic.php') => array(LICENCE_ANONYMOUS, 'Stav dokončení překládů', 'Stav dokončení'),
    129129    $System->Link('/userlist.php?action=nofilter') => array(LICENCE_ANONYMOUS, 'Seznam registrovaných uživatelů', 'Překladatelé'),
    130     $System->Link('/eam.php?search=') => array(LICENCE_ANONYMOUS, 'Seznam překladatelských týmů', 'Týmy'),
     130    $System->Link('/team.php?search=') => array(LICENCE_ANONYMOUS, 'Seznam překladatelských týmů', 'Týmy'),
    131131    $System->Link('/export/') => array(LICENCE_ANONYMOUS, 'Zde si můžete stáhnout přeložené texty', 'Exporty'),
    132132    $System->Link('/download.php') => array(LICENCE_ANONYMOUS, 'Stahování různých pomocných souborů a programů', 'Soubory'),
  • trunk/registrace.php

    r376 r418  
    1111  $Team = $_POST['Team'];
    1212  $Language = $_POST['Language'];
     13  if(array_key_exists('sc', $_POST)) $SpamCheck = $_POST['sc'];
     14    else $SpamCheck = '';
    1315 
    14   if($UserName != '')
     16  if($SpamCheck != '')
    1517  {
    16     if($UserName != 'Addon')
     18    if($UserName != '')
    1719    {
    18 
    19   if($Pass == $Pass2)
    20   {
    21     $Line = mysql_fetch_row($Database->SQLCommand('SELECT * FROM `User` WHERE `Name` = "'.$UserName.'"'));
    22     if(!$Line)
    23     {
    24       $Salt = $User->GetPasswordSalt();
    25       $Database->SQLCommand('INSERT INTO `User` (`Name` , `Pass` , `Salt`, `LastIP` , `LastLogin` , `Email` , `Language` , `Team` , `NeedUpdate`, `RegistrationTime` )
    26       VALUES ("'.$UserName.'", '.$User->CryptPasswordSQL('"'.$Pass.'"', '"'.$Salt.'"').', "'.$Salt.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "'.$Email.'", '.$Language.', '.$Team.', 1, NOW())');
    27       $Message = 'Registrace proběhla úspěšně.<br />';
    28       $User->Login($UserName, $Pass);
    29       WriteLog('Uživatel se zaregistroval: '.$UserName, LOG_TYPE_USER);     
    30     } else $Message = 'Uživatel se zadanou přezdívkou již existuje. <a href="?">Zpět</a>';
    31   } else $Message = 'Hesla se neshodují. <a href="?">Zpět</a>';
    32     } else $Message = 'To jméno uživatele nemůžete použít';
    33   } else $Message = 'Nelze použít prázdné jméno';
     20      if($UserName != 'Addon')
     21      {
     22        if($Pass == $Pass2)
     23        {
     24          $Line = mysql_fetch_row($Database->SQLCommand('SELECT * FROM `User` WHERE `Name` = "'.$UserName.'"'));
     25          if(!$Line)
     26          {
     27            $Salt = $User->GetPasswordSalt();
     28            $Database->SQLCommand('INSERT INTO `User` (`Name` , `Pass` , `Salt`, `LastIP` , `LastLogin` , `Email` , `Language` , `Team` , `NeedUpdate`, `RegistrationTime` ) VALUES ("'.$UserName.'", '.$User->CryptPasswordSQL('"'.$Pass.'"', '"'.$Salt.'"').', "'.$Salt.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "'.$Email.'", '.$Language.', '.$Team.', 1, NOW())');
     29            $Message = 'Registrace proběhla úspěšně.<br /><br/>'.
     30            'Přečtěte si pozorně <a href="'.$System->Link('/info.php').'</a>">pokyny pro překladání</a> a můžete pak hned začít překládat.';
     31            $User->Login($UserName, $Pass);
     32            WriteLog('Uživatel se zaregistroval: '.$UserName, LOG_TYPE_USER);     
     33          } else $Message = 'Uživatel se zadanou přezdívkou již existuje. <a href="?">Zpět</a>';
     34        } else $Message = 'Hesla se neshodují. <a href="?">Zpět</a>';
     35      } else $Message = 'To jméno uživatele nemůžete použít';
     36    } else $Message = 'Nelze použít prázdné jméno';
     37  } else $Message = 'Nejsi člověk. Strojům není dovoleno se registrovat.';
    3438  ShowPage();
    3539  echo($Message);
     
    5963    </tr>
    6064    <tr>
     65      <td>Jsi člověk? </td>
     66      <td><input type="checkbox" name="sc" /></td>
     67    </tr>
     68    <tr>
    6169      <td>Normálně budu překládat do: </td>
    6270      <td>'); WriteLanguages(1); echo('</td>
Note: See TracChangeset for help on using the changeset viewer.