Как проверить идентификатор проверки mongodb с переполнением стека

я получаю mongodb id строки запроса. как проверить валидацию этого идентификатора? я хочу, если mongodb id не действителен, перенаправить на другой URL

получить строку запроса:

    if(count($_GET)>0 && $_GET['uid']){

//get id from string query
$query = array("_id" => new MongoId($_GET

['uid']));
$user = DB::findone('users',$query);

}else{
//redirect if not exist query string
header('location:'.ADMIN_URL.'/items/forbidden.php');
}

помогите плз …
Спасибо

2

Решение

В новой библиотеке PHP Mongo https://github.com/mongodb/mongo-php-library лучший способ проверить правильность строки 🙁 благодаря коду Yii2 https://github.com/yiisoft/yii2-mongodb/blob/master/validators/MongoIdValidator.php)

   function isValid($value)
{
if ($value instanceof \MongoDB\BSON\ObjectID) {
return true;
}
try {
new \MongoDB\BSON\ObjectID($value);
return true;
} catch (\Exception $e) {
return false;
}
}
6

Другие решения

Начиная с версии 1.5, вы можете проверить это

if(isset($_GET['uid']) && MongoId::isValid ($_GET['uid'])) {
// Your code here
}

php.net mongoid.isvalid

1

По вопросам рекламы [email protected]