Linux anchor 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
Apache/2.4.18 (Ubuntu)
Server IP : 10.10.100.4 & Your IP : 216.73.217.150
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
owncloud-prm /
lib /
private /
Security /
Delete
Unzip
Name
Size
Permission
Date
Action
CSP
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
CSRF
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
Certificate.php
3
KB
-rw-r--r--
2018-04-19 18:15
CertificateManager.php
6.75
KB
-rw-r--r--
2018-04-19 18:15
CredentialsManager.php
3.2
KB
-rw-r--r--
2018-04-19 18:15
Crypto.php
4.02
KB
-rw-r--r--
2018-04-19 18:15
Hasher.php
5.07
KB
-rw-r--r--
2018-04-19 18:15
SecureRandom.php
2.76
KB
-rw-r--r--
2018-04-19 18:15
TrustedDomainHelper.php
2.34
KB
-rw-r--r--
2018-04-19 18:15
Save
Rename
<?php /** * @author Robin McCorkell <robin@mccorkell.me.uk> * * @copyright Copyright (c) 2018, ownCloud GmbH * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License, version 3, * along with this program. If not, see <http://www.gnu.org/licenses/> * */ namespace OC\Security; use OCP\Security\ICrypto; use OCP\IDBConnection; use OCP\Security\ICredentialsManager; /** * Store and retrieve credentials for external services * * @package OC\Security */ class CredentialsManager implements ICredentialsManager { const DB_TABLE = 'credentials'; /** @var ICrypto */ protected $crypto; /** @var IDBConnection */ protected $dbConnection; /** * @param ICrypto $crypto * @param IDBConnection $dbConnection */ public function __construct(ICrypto $crypto, IDBConnection $dbConnection) { $this->crypto = $crypto; $this->dbConnection = $dbConnection; } /** * Store a set of credentials * * @param string|null $userId Null for system-wide credentials * @param string $identifier * @param mixed $credentials */ public function store($userId, $identifier, $credentials) { $value = $this->crypto->encrypt(json_encode($credentials)); $this->dbConnection->setValues(self::DB_TABLE, [ 'user' => $userId, 'identifier' => $identifier, ], [ 'credentials' => $value, ]); } /** * Retrieve a set of credentials * * @param string|null $userId Null for system-wide credentials * @param string $identifier * @return mixed */ public function retrieve($userId, $identifier) { $qb = $this->dbConnection->getQueryBuilder(); $qb->select('credentials') ->from(self::DB_TABLE) ->where($qb->expr()->eq('user', $qb->createNamedParameter($userId))) ->andWhere($qb->expr()->eq('identifier', $qb->createNamedParameter($identifier))) ; $result = $qb->execute()->fetch(); if (!$result) { return null; } $value = $result['credentials']; return json_decode($this->crypto->decrypt($value), true); } /** * Delete a set of credentials * * @param string|null $userId Null for system-wide credentials * @param string $identifier * @return int rows removed */ public function delete($userId, $identifier) { $qb = $this->dbConnection->getQueryBuilder(); $qb->delete(self::DB_TABLE) ->where($qb->expr()->eq('user', $qb->createNamedParameter($userId))) ->andWhere($qb->expr()->eq('identifier', $qb->createNamedParameter($identifier))) ; return $qb->execute(); } /** * Erase all credentials stored for a user * * @param string $userId * @return int rows removed */ public function erase($userId) { $qb = $this->dbConnection->getQueryBuilder(); $qb->delete(self::DB_TABLE) ->where($qb->expr()->eq('user', $qb->createNamedParameter($userId))) ; return $qb->execute(); } }