Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Widget; use Typecho\Common; use Typecho\Cookie; use Typecho\Db\Exception..
Decoded Output download
<?php
namespace Widget;
use Typecho\Common;
use Typecho\Cookie;
use Typecho\Db\Exception;
use Typecho\Validate;
use Utils\PasswordHash;
use Widget\Base\Users;
if (!defined('__TYPECHO_ROOT_DIR__')) {
exit;
}
/**
*
*
* @author qining
* @category typecho
* @package Widget
*/
class Register extends Users implements ActionInterface
{
/**
*
*
* @throws Exception
*/
public function action()
{
// protect
$this->security->protect();
/** */
if ($this->user->hasLogin() || !$this->options->allowRegister) {
/** */
$this->response->redirect($this->options->index);
}
/** */
$validator = new Validate();
$validator->addRule('name', 'required', _t(''));
$validator->addRule('name', 'minLength', _t('2'), 2);
$validator->addRule('name', 'maxLength', _t('32'), 32);
$validator->addRule('name', 'xssCheck', _t(''));
$validator->addRule('name', [$this, 'nameExists'], _t(''));
$validator->addRule('mail', 'required', _t(''));
$validator->addRule('mail', [$this, 'mailExists'], _t(''));
$validator->addRule('mail', 'email', _t(''));
$validator->addRule('mail', 'maxLength', _t('64'), 64);
/** password */
if (array_key_exists('password', $_REQUEST)) {
$validator->addRule('password', 'required', _t(''));
$validator->addRule('password', 'minLength', _t(', '), 6);
$validator->addRule('password', 'maxLength', _t(', '), 18);
$validator->addRule('confirm', 'confirm', _t(''), 'password');
}
/** */
if ($error = $validator->run($this->request->from('name', 'password', 'mail', 'confirm'))) {
Cookie::set('__typecho_remember_name', $this->request->get('name'));
Cookie::set('__typecho_remember_mail', $this->request->get('mail'));
/** */
Notice::alloc()->set($error);
$this->response->goBack();
}
$hasher = new PasswordHash(8, true);
$generatedPassword = Common::randString(7);
$dataStruct = [
'name' => $this->request->get('name'),
'mail' => $this->request->get('mail'),
'screenName' => $this->request->get('name'),
'password' => $hasher->hashPassword($generatedPassword),
'created' => $this->options->time,
'group' => 'subscriber'
];
$dataStruct = self::pluginHandle()->call('register', $dataStruct);
$insertId = $this->insert($dataStruct);
$this->db->fetchRow($this->select()->where('uid = ?', $insertId)
->limit(1), [$this, 'push']);
self::pluginHandle()->call('finishRegister', $this);
$this->user->login($this->request->get('name'), $generatedPassword);
Cookie::delete('__typecho_first_run');
Cookie::delete('__typecho_remember_name');
Cookie::delete('__typecho_remember_mail');
Notice::alloc()->set(
_t(
' <strong>%s</strong> , <strong>%s</strong>',
$this->screenName,
$generatedPassword
),
'success'
);
$this->response->redirect($this->options->adminUrl);
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Widget;
use Typecho\Common;
use Typecho\Cookie;
use Typecho\Db\Exception;
use Typecho\Validate;
use Utils\PasswordHash;
use Widget\Base\Users;
if (!defined('__TYPECHO_ROOT_DIR__')) {
exit;
}
/**
*
*
* @author qining
* @category typecho
* @package Widget
*/
class Register extends Users implements ActionInterface
{
/**
*
*
* @throws Exception
*/
public function action()
{
// protect
$this->security->protect();
/** */
if ($this->user->hasLogin() || !$this->options->allowRegister) {
/** */
$this->response->redirect($this->options->index);
}
/** */
$validator = new Validate();
$validator->addRule('name', 'required', _t(''));
$validator->addRule('name', 'minLength', _t('2'), 2);
$validator->addRule('name', 'maxLength', _t('32'), 32);
$validator->addRule('name', 'xssCheck', _t(''));
$validator->addRule('name', [$this, 'nameExists'], _t(''));
$validator->addRule('mail', 'required', _t(''));
$validator->addRule('mail', [$this, 'mailExists'], _t(''));
$validator->addRule('mail', 'email', _t(''));
$validator->addRule('mail', 'maxLength', _t('64'), 64);
/** password */
if (array_key_exists('password', $_REQUEST)) {
$validator->addRule('password', 'required', _t(''));
$validator->addRule('password', 'minLength', _t(', '), 6);
$validator->addRule('password', 'maxLength', _t(', '), 18);
$validator->addRule('confirm', 'confirm', _t(''), 'password');
}
/** */
if ($error = $validator->run($this->request->from('name', 'password', 'mail', 'confirm'))) {
Cookie::set('__typecho_remember_name', $this->request->get('name'));
Cookie::set('__typecho_remember_mail', $this->request->get('mail'));
/** */
Notice::alloc()->set($error);
$this->response->goBack();
}
$hasher = new PasswordHash(8, true);
$generatedPassword = Common::randString(7);
$dataStruct = [
'name' => $this->request->get('name'),
'mail' => $this->request->get('mail'),
'screenName' => $this->request->get('name'),
'password' => $hasher->hashPassword($generatedPassword),
'created' => $this->options->time,
'group' => 'subscriber'
];
$dataStruct = self::pluginHandle()->call('register', $dataStruct);
$insertId = $this->insert($dataStruct);
$this->db->fetchRow($this->select()->where('uid = ?', $insertId)
->limit(1), [$this, 'push']);
self::pluginHandle()->call('finishRegister', $this);
$this->user->login($this->request->get('name'), $generatedPassword);
Cookie::delete('__typecho_first_run');
Cookie::delete('__typecho_remember_name');
Cookie::delete('__typecho_remember_mail');
Notice::alloc()->set(
_t(
' <strong>%s</strong> , <strong>%s</strong>',
$this->screenName,
$generatedPassword
),
'success'
);
$this->response->redirect($this->options->adminUrl);
}
}
Function Calls
None |
Stats
MD5 | 42e262cd79ed46ed84281464b28c6a38 |
Eval Count | 0 |
Decode Time | 86 ms |