Поиск сообщества
Показаны результаты для тегов 'запрос данных'.
Найдено: 1 результат
-
Invision Community имеет класс для работы с данными запроса, включая данные GET, POST, и REQUEST, куками и обнаружение определенной информации о запросе (например, были ли они отправлены через AJAX или нет). Вам нужно будет использовать этот класс для выполнения некоторых общих действий, работающих с программным обеспечением. Класс доступен с помощью \IPS\Requst::i() и реализует паттерн Одиночка (Singleton). Данные GET, POST и REQUEST Чтобы получить доступ к переменным запроса, вы просто вызываете их как свойства класса. Например, вы можете проверить, установлена ли переменная запроса и вывести её таким образом: if( isset( \IPS\Request::i()->someVariable ) ) { print \IPS\Request::i()->someVariable; } Данные запроса в основном не изменены из первоначально представленных данных, за исключением того, что нулевые байты и символы управления RTL удаляются из ввода, и удалены слэши, если включены магические кавычки. Это означает, что все данные запроса считаются потенциально зараженными, и вам нужно будет принять меры предосторожности, чтобы не создать проблемы в безопасности, полагаясь на 'чистые' данные запроса этого класса. Если запрос выполняется с использованием метода PUT (например в REST API в некоторых случаях), эти данные запроса также доступны через этот класс. Работа с cookie Значения Cookie доступны в свойстве cookie класса \IPS\Request. print \IPS\Request::i()->cookie['member_id']; Если ваш сайт использует префикс cookie, обратите внимание, что здесь он будет автоматически удалён. Чтобы установить cookie, вы можете использовать метод setCookie. Как и при извлечении cookie, вы не должны включать префикс cookie, который используется. /** * Set a cookie * * @param string $name Name * @param mixed $value Value * @param \IPS\DateTime|null $expire Expiration date, or NULL for on session end * @param bool $httpOnly When TRUE the cookie will be made accessible only through the HTTP protocol * @param string|null $domain Domain to set to. If NULL, will be detected automatically. * @param string|null $path Path to set to. If NULL, will be detected automatically. * @return bool */ public function setCookie( $name, $value, $expire=NULL, $httpOnly=TRUE, $domain=NULL, $path=NULL ) Обычно вы должны оставить $domain и $path как NULL, однако при необходимости они могут быть переопределены, например, если вы работаете над интеграцией с сторонним сервисом. Вы можете очистить все cookies авторизации с помощью метода \IPS\Request::i()->clearLoginCookies(), если необходимо, включая member_id и pass_hash, а также любые cookies пароля (где пользователь может иметь введённый пароль для доступа к форуму). Другие вспомогательные методы В классе \IPS\Request есть несколько вспомогательных методов, которые можно использовать при необходимости для проверки различных свойств запроса: \IPS\Request::i()->isAjax() - Возвращает логическое значение true или false, указывающее, был ли запрос выполнен через AJAX. \IPS\Request::i()->isSecure() - Возвращает логическое значение true или false, указывающее, был ли запрос выполнен через SSL (https). \IPS\Request::i()->url() - Возвращает объект \IPS\Http\Url, представляющий запрошенный URL-адрес. Обратите внимание, что фрагменты (значения после символа хеша в URL-адресе) не отправляются на сервер и не будут доступны для проверки на уровне сервера. \IPS\Request::i()->ipAddress() - Возвращает IP-адрес, используемый при выполнении текущего запроса, с учетом с учетом прокси-серверов и перенаправления, если администратор решил сделать это в админцентре. \IPS\Request::i()->ipAddressIsBanned() - Возвращает логическое значение true или false, указывающее, забанен ли текущий IP-адрес запроса в бан-фильтре IP-адресов в админцентре. \IPS\Request::i()->requestMethod() - Возвращает текущий метод запроса, в верхнем регистре. \IPS\Request::i()->isCgi() - Возвращает логическое значение true или false, указывающее, обрабатывается ли текущий запрос CGI-оболочкой в PHP. \IPS\Request::i()->floodCheck() - Проверяет настройку поискового флуда пользователя , чтобы определить, искал ли что-то пользователь в последнее время и что пользователь снова ищет через короткий промежуток времени. Если пользователь недавно выполнил поиск и этот метод вызывается до того, как завершился период времени контроля флуда, пользователю будет показана ошибка, в противном случае его время последнего поиска обновляется до текущего времени для последующих проверок. \IPS\Request::i()->confirmedDelete( $title, $message, $submit ) - Когда пользователь удаляет данные, разумно утверждать, что действие было предпринято осознано, а не случайно. Чтобы облегчить это, вы можете вызвать метод confirmedDelete(), который проверит подтвердил ли пользователь удаление контента, и если нет, покажет сначала скрин подтверждения.