Ir para conteúdo
  • Cadastre-se

[DUVIDA] Como retirar função SALT Gesior2012


Posts Recomendados

Galera minha distro é configurada para usar site + account manager, porem agora troquei de site e estou usando o gesior2012, e ao criar contas ele usa encryption no passoword coisa que o site antigo não fazia, queria saber se tem como remover a função SALT ou ENCRYPTION do gesior2012?

Editado por jhx (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Tirar a encryption do site é pedir pra ser invadido por qualquer pessoa que vê um tutorial no youtube(se bem que continua fácil mesmo encriptado, mas sem facilita mais ainda). Sobre retirar o salt requer, algumas alterações na sources.

Editado por Summ (veja o histórico de edições)

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Tirar a encryption do site é pedir pra ser invadido por qualquer pessoa que vê um tutorial no youtube(se bem que continua fácil mesmo encriptado, mas sem facilita mais ainda). Sobre retirar o salt requer, algumas alterações na sources.

Não você não me entendeu, minhas sourcers já são sem SALT, eu quero retirar do "SITE" pra quando criar conta pelo site o gesior nao encryptar ...

Link para o post
Compartilhar em outros sites

Esse aqui já vem sem: https://github.com/gesior/Gesior2012/archive/TFS-0.3.6_and_0.4_to_rev_3703.zip

Se quiser tentar remover do seu:

Search "salt" (8 hits in 2 files)
    \classes\account.php (7 hits)
    Line 11:     public $data = array('name' => null, 'password' => null, 'salt' => null, 'premdays' => null, 'lastday' => null, 'email' => null, 'key' => null, 'group_id' => null, 'create_ip' => null, 'create_date' => null, 'premium_points' => null, 'page_access' => null, 'location' => null, 'rlname' => null, 'email_new' => null, 'email_new_time' => null, 'email_code' => null, 'next_email' => null, 'last_post' => null, 'flag' => null);
    Line 12:     public static $fields = array('id', 'name', 'password', 'salt', 'premdays', 'lastday', 'email', 'key', 'group_id', 'create_ip', 'create_date', 'premium_points', 'page_access', 'location', 'rlname', 'email_new', 'email_new_time', 'email_code', 'next_email', 'last_post', 'flag');
    Line 202:         $this->data['salt'] = md5(microtime(true));
    Line 206:     public function setSalt($value){$this->data['salt'] = $value;}
    Line 206:     public function setSalt($value){$this->data['salt'] = $value;}
    Line 207:     public function getSalt(){return $this->data['salt'];}
    Line 207:     public function getSalt(){return $this->data['salt'];}
    \classes\website.php (1 hit)
    Line 151:                     return hash(self::$passwordsEncryption, $account->getSalt() . $password);
Editado por fireelement (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

Esse aqui já vem sem: https://github.com/gesior/Gesior2012/archive/TFS-0.3.6_and_0.4_to_rev_3703.zip

Se quiser tentar remover do seu:

Search "salt" (8 hits in 2 files)
    \classes\account.php (7 hits)
    Line 11:     public $data = array('name' => null, 'password' => null, 'salt' => null, 'premdays' => null, 'lastday' => null, 'email' => null, 'key' => null, 'group_id' => null, 'create_ip' => null, 'create_date' => null, 'premium_points' => null, 'page_access' => null, 'location' => null, 'rlname' => null, 'email_new' => null, 'email_new_time' => null, 'email_code' => null, 'next_email' => null, 'last_post' => null, 'flag' => null);
    Line 12:     public static $fields = array('id', 'name', 'password', 'salt', 'premdays', 'lastday', 'email', 'key', 'group_id', 'create_ip', 'create_date', 'premium_points', 'page_access', 'location', 'rlname', 'email_new', 'email_new_time', 'email_code', 'next_email', 'last_post', 'flag');
    Line 202:         $this->data['salt'] = md5(microtime(true));
    Line 206:     public function setSalt($value){$this->data['salt'] = $value;}
    Line 206:     public function setSalt($value){$this->data['salt'] = $value;}
    Line 207:     public function getSalt(){return $this->data['salt'];}
    Line 207:     public function getSalt(){return $this->data['salt'];}
    \classes\website.php (1 hit)
    Line 151:                     return hash(self::$passwordsEncryption, $account->getSalt() . $password);

Amigo pode me ajudar ?

meu account.php

<?php

if(!defined('INITIALIZED'))
exit;
 
class Account extends ObjectData
{
const LOADTYPE_ID = 'id';
const LOADTYPE_NAME = 'name';
const LOADTYPE_MAIL = 'email';
public static $table = 'accounts';
public $data = array('name' => null, 'vip_time' => null, 'guild_points' => null, 'password' => null, 'premdays' => null, 'lastday' => null, 'email' => null, 'key' => null, 'group_id' => null, 'create_ip' => null, 'create_date' => null, 'premium_points' => null, 'page_access' => null, 'location' => null, 'rlname' => null, 'email_new' => null, 'email_new_time' => null, 'email_code' => null, 'next_email' => null, 'last_post' => null, 'flag' => null, 'vote' => null);
public static $fields = array('id', 'vip_time', 'guild_points', 'name', 'password', 'premdays', 'lastday', 'email', 'key', 'group_id', 'create_ip', 'create_date', 'premium_points', 'page_access', 'location', 'rlname', 'email_new', 'email_new_time', 'email_code', 'next_email', 'last_post', 'flag', 'vote');
public $players;
public $playerRanks;
public $guildAccess;
public $bans;
 
    public function __construct($search_text = null, $search_by = self::LOADTYPE_ID)
    {
if($search_text != null)
$this->load($search_text, $search_by);
    }
 
public function load($search_text, $search_by = self::LOADTYPE_ID)
{
if(in_array($search_by, self::$fields))
$search_string = $this->getDatabaseHandler()->fieldName($search_by) . ' = ' . $this->getDatabaseHandler()->quote($search_text);
else
new Error_Critic('', 'Wrong Account search_by type.');
$fieldsArray = array();
foreach(self::$fields as $fieldName)
$fieldsArray[$fieldName] = $this->getDatabaseHandler()->fieldName($fieldName);
$this->data = $this->getDatabaseHandler()->query('SELECT ' . implode(', ', $fieldsArray) . ' FROM ' . $this->getDatabaseHandler()->tableName(self::$table) . ' WHERE ' . $search_string)->fetch();
}
 
public function loadById($id)
{
$this->load($id, 'id');
}
 
public function loadByName($name)
{
$this->load($name, 'name');
}
 
public function loadByEmail($mail)
{
$this->load($mail, 'email');
}
 
public function save($forceInsert = false)
{
if(!isset($this->data['id']) || $forceInsert)
{
$keys = array();
$values = array();
foreach(self::$fields as $key)
if($key != 'id')
{
$keys[] = $this->getDatabaseHandler()->fieldName($key);
$values[] = $this->getDatabaseHandler()->quote($this->data[$key]);
}
$this->getDatabaseHandler()->query('INSERT INTO ' . $this->getDatabaseHandler()->tableName(self::$table) . ' (' . implode(', ', $keys) . ') VALUES (' . implode(', ', $values) . ')');
$this->setID($this->getDatabaseHandler()->lastInsertId());
}
else
{
$updates = array();
foreach(self::$fields as $key)
if($key != 'id')
$updates[] = $this->getDatabaseHandler()->fieldName($key) . ' = ' . $this->getDatabaseHandler()->quote($this->data[$key]);
$this->getDatabaseHandler()->query('UPDATE ' . $this->getDatabaseHandler()->tableName(self::$table) . ' SET ' . implode(', ', $updates) . ' WHERE ' . $this->getDatabaseHandler()->fieldName('id') . ' = ' . $this->getDatabaseHandler()->quote($this->data['id']));
}
}
 
public function getPlayers($forceReload = false)
{
if(!isset($this->players) || $forceReload)
{
$this->players = new DatabaseList('Player');
$this->players->setFilter(new SQL_Filter(new SQL_Field('account_id'), SQL_Filter::EQUAL, $this->getID()));
$this->players->addOrder(new SQL_Order(new SQL_Field('name')));
}
return $this->players;
}
 
public function getGuildRanks($forceReload = false)
{
if(!isset($this->playerRanks) || $forceReload)
{
$this->playerRanks = new DatabaseList('AccountGuildRank');
$filterAccount = new SQL_Filter(new SQL_Field('account_id', 'players'), SQL_Filter::EQUAL, $this->getID());
$filterPlayer = new SQL_Filter(new SQL_Field('rank_id', 'players'), SQL_Filter::EQUAL, new SQL_Field('id', 'guild_ranks'));
$filterGuild = new SQL_Filter(new SQL_Field('guild_id', 'guild_ranks'), SQL_Filter::EQUAL, new SQL_Field('id', 'guilds'));
$filter = new SQL_Filter($filterAccount, SQL_Filter::CRITERIUM_AND, $filterPlayer);
$filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterGuild);
$this->playerRanks->setFilter($filter);
}
return $this->playerRanks;
}
 
public function loadGuildAccess($forceReload = false)
{
if(!isset($this->guildAccess) || $forceReload)
{
$this->guildAccess = array();
foreach($this->getGuildRanks($forceReload) as $rank)
if($rank->getOwnerID() == $rank->getPlayerID())
$this->guildAccess[$rank->getGuildID()] = Guild::LEVEL_OWNER;
elseif(!isset($this->guildAccess[$rank->getGuildID()]) || $rank->getLevel() > $this->guildAccess[$rank->getGuildID()])
$this->guildAccess[$rank->getGuildID()] = $rank->getLevel();
}
}
 
public function isInGuild($guildId, $forceReload = false)
{
$this->loadGuildAccess($forceReload);
return isset($this->guildAccess[$guildId]);
}
 
public function getGuildLevel($guildId, $forceReload = false)
{
$this->loadGuildAccess($forceReload);
if(isset($this->guildAccess[$guildId]))
return $this->guildAccess[$guildId];
else
return 0;
}
 
public function unban()
{
$bans = new DatabaseList('Ban');
$filterType = new SQL_Filter(new SQL_Field('type'), SQL_Filter::EQUAL, Ban::TYPE_ACCOUNT);
$filterValue = new SQL_Filter(new SQL_Field('value'), SQL_Filter::EQUAL, $this->data['id']);
$filterActive = new SQL_Filter(new SQL_Field('active'), SQL_Filter::EQUAL, 1);
$filter = new SQL_Filter($filterType, SQL_Filter::CRITERIUM_AND, $filterValue);
$filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterActive);
$bans->setFilter($filter);
foreach($bans as $ban)
{
$ban->setActive(0);
$ban->save();
}
}
 
public function loadBans($forceReload = false)
{
if(!isset($this->bans) || $forceReload)
{
$this->bans = new DatabaseList('Ban');
$filterType = new SQL_Filter(new SQL_Field('type'), SQL_Filter::EQUAL, Ban::TYPE_ACCOUNT);
$filterValue = new SQL_Filter(new SQL_Field('value'), SQL_Filter::EQUAL, $this->data['id']);
$filterActive = new SQL_Filter(new SQL_Field('active'), SQL_Filter::EQUAL, 1);
$filter = new SQL_Filter($filterType, SQL_Filter::CRITERIUM_AND, $filterValue);
$filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterActive);
$this->bans->setFilter($filter);
}
}
 
public function isBanned($forceReload = false)
{
$this->loadBans($forceReload);
$isBanned = false;
foreach($this->bans as $ban)
{
if($ban->getExpires() <= 0 || $ban->getExpires() > time())
$isBanned = true;
}
return $isBanned;
}
 
public function getBanTime($forceReload = false)
{
$this->loadBans($forceReload);
$lastExpires = 0;
foreach($bans as $ban)
{
if($ban->getExpires() <= 0)
{
$lastExpires = 0;
break;
}
if($ban->getExpires() > time() && $ban->getExpires() > $lastExpires)
$lastExpires = $ban->getExpires();
}
return $lastExpires;
}
 
    public function delete()
    {
        $this->getDatabaseHandler()->query('DELETE FROM ' . $this->getDatabaseHandler()->tableName(self::$table) . ' WHERE ' . $this->getDatabaseHandler()->fieldName('id') . ' = ' . $this->getDatabaseHandler()->quote($this->data['id']));
 
        unset($this->data['id']);
    }
 
public function setID($value){$this->data['id'] = $value;}
public function getID(){return $this->data['id'];}
public function setName($value){$this->data['name'] = $value;}
public function getName(){return $this->data['name'];}
public function setPassword($value)
{
$this->data['password'] = Website::encryptPassword($value, $this);
}
public function getPassword(){return $this->data['password'];}
public function setPremDays($value){$this->data['premdays'] = $value;}
public function getPremDays(){return $this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday']));}
public function setLastDay($value){$this->data['lastday'] = $value;}
public function getLastDay(){return $this->data['lastday'];}
public function setMail($value){$this->data['email'] = $value;}
public function getMail(){return $this->data['email'];}
public function setKey($value){$this->data['key'] = $value;}
public function getKey(){return $this->data['key'];}
public function setGroupID($value){$this->data['group_id'] = $value;}
public function getGroupID(){return $this->data['group_id'];}
/*
 * Custom AAC fields
 * create_ip , INT, default 0
 * create_date , INT, default 0
 * premium_points , INT, default 0
 * page_access, INT, default 0
 * location, VARCHAR(255), default ''
 * rlname, VARCHAR(255), default ''
*/
public function setCreateIP($value){$this->data['create_ip'] = $value;}
public function getCreateIP(){return $this->data['create_ip'];}
public function setCreateDate($value){$this->data['create_date'] = $value;}
public function getCreateDate(){return $this->data['create_date'];}
public function setPremiumPoints($value){$this->data['premium_points'] = $value;}
public function getPremiumPoints(){return $this->data['premium_points'];}
public function setVipTime($value){$this->data['vip_time'] = $value;}
 
public function getVipTime(){return $this->data['vip_time'];}
 
public function setGuildPoints($value){$this->data['guild_points'] = $value;}
 
public function getGuildPoints(){return $this->data['guild_points'];}
public function setPageAccess($value){$this->data['page_access'] = $value;}
public function getPageAccess(){return $this->data['page_access'];}
 
public function setLocation($value){$this->data['location'] = $value;}
public function getLocation(){return $this->data['location'];}
public function setRLName($value){$this->data['rlname'] = $value;}
public function getRLName(){return $this->data['rlname'];}
public function setFlag($value){$this->data['flag'] = $value;}
public function getFlag(){return $this->data['flag'];}
/*
 * for compability with old scripts
*/
public function getGroup(){return $this->getGroupID();}
public function setGroup($value){$this->setGroupID($value);}
public function getEMail(){return $this->getMail();}
public function setEMail($value){$this->setMail($value);}
public function getPlayersList(){return $this->getPlayers();}
public function getGuildAccess($guildID){return $this->getGuildLevel($guildID);}
 
public function isValidPassword($password)
{
return ($this->data['password'] == Website::encryptPassword($password, $this));
}
 
public function find($name){$this->loadByName($name);}
public function findByEmail($email){$this->loadByEmail($email);}
public function isPremium(){return ($this->getPremDays() > 0);}
public function getLastLogin(){return $this->getLastDay();}
}

 

Link para o post
Compartilhar em outros sites

Esse arquivo que você me passou não tem nada de salt :huh:

Engraçado porque aqui ele encrypta o password ;/

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo