Grails способ предотвратить неверный запрос "идентификаторы" на URL - PullRequest
3 голосов
/ 21 января 2010

Как здесь, в stackoverflow, если я принудительно помещаю плохие символы в URL в id, он перенаправляет вас на страницу с ошибкой. Я хотел бы знать, есть ли в Grails какой-то плагин для предотвращения идентификаторов, например: «123 $ # 3» или простой способ, потому что у меня много действий и я делаю что-то вроде ниже, не кажется лучшим способом:


def find = {   

     def val = OwnStringUtilsClass.verify(params.id)
     val ? Book.get(val) : response.sendError(404)
}

Ответы [ 2 ]

3 голосов
/ 21 января 2010

Вы можете использовать следующее в grails-app/conf/UrlMappings.groovy:

  "/$controller/$action?/$id?"{
          constraints {
                    id(matches:/\d*/)
              }
      }

Это гарантирует, что id является числовым.

0 голосов
/ 21 января 2010

Вы можете попробовать использовать фильтр контроллера .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...