2015-03-28 13:27:45 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Wallabag\CoreBundle\Tools;
|
|
|
|
|
|
|
|
class Utils
|
|
|
|
{
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Generate a token used for RSS.
|
2015-03-28 13:27:45 +00:00
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public static function generateToken()
|
|
|
|
{
|
|
|
|
if (ini_get('open_basedir') === '') {
|
|
|
|
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
|
|
|
|
// alternative to /dev/urandom for Windows
|
|
|
|
$token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);
|
|
|
|
} else {
|
|
|
|
$token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);
|
|
|
|
}
|
|
|
|
|
2015-04-01 19:54:22 +00:00
|
|
|
// remove character which can broken the url
|
|
|
|
return str_replace(array('+', '/'), '', $token);
|
2015-03-28 13:27:45 +00:00
|
|
|
}
|
|
|
|
}
|