if ($ _REQUEST) в Coldfusion - PullRequest
       9

if ($ _REQUEST) в Coldfusion

0 голосов
/ 01 марта 2012

Я пытаюсь использовать оператор if, чтобы проверить, был ли пользователь направлен на эту страницу из правильного местоположения с правильными данными.

в PHP мы будем использовать if ($_REQUEST) { ...... }

но как я могу это сделать в холодном состоянии?

Ответы [ 2 ]

5 голосов
/ 01 марта 2012

Согласно это , $ _REQUEST равно:

Ассоциативный массив, который по умолчанию содержит содержимое $ _GET, $ _POST и $ _COOKIE.

В этом случае в Coldfusion нет эквивалента. $ _GET будет эквивалентно области URL CF. $ _POST будет эквивалентно области формы CF. $ _COOKIE будет эквивалентно области видимости COOKIE CF. Вам нужно будет проверить соответствующую область в зависимости от того, что вы ищете.

Однако существуют платформы для Coldfusion, такие как Coldbox, которые управляют «сбором запросов».

4 голосов
/ 01 марта 2012

С более подробной информацией этот ответ может быть более полным.

Вы можете проверить, откуда пришел пользователь, используя CGI.HTTP_REFERER. Пример:

if (CGI.http_referer contains 'www.good-domain.com') { ... do something here ... }

Вам необходимо проверить URL или области видимости FORM, чтобы проверить данные, чтобы убедиться, что это "правильные данные". Вы можете проверить эти значения с помощью чего-то простого (например, проверки области формы - используется, когда данные публикуются в теле запроса):

requestIsGood = true;
requiredKeys = ['keyA','keyB','keyC'];
for (key in requiredKeys) {
    if (!structKeyExists(FORM,key) {
        requestIsGood = false;
        break;
    }
}

if (requestIsGood) { ... do something here ...}

Наконец, разница между областью URL и FORM в ColdFusion (CFML) заключается в том, что значения в строке запроса URL будут заполнены областью URL. Значения, опубликованные в форме, будут присутствовать в области формы.

Примеры кода должны быть точными для Adobe ColdFusion 9+ http://adobe.com/go/coldfusion и механизма CFML с открытым исходным кодом Railo http://getrailo.org. Он может работать на другом движке CFML с открытым исходным кодом OpenBD http://www.openbluedragon.org/, но Я не уверен.

Надеюсь, эта информация поможет вам.

...