Проверка файлов cookie в JSP с использованием JSTL - PullRequest
0 голосов
/ 31 мая 2011

Я пытаюсь выяснить, как файлы cookie могут использоваться для предотвращения ввода хакером URL-адреса внутренней части веб-приложения java, которая не должна быть доступна, если пользователь не вошел в систему.

Например, я бы хотел запретить хакеру вводить http://domain.com/myapp/listtable.jsp и иметь возможность просматривать таблицу без входа в систему.

У меня есть сервлет, в котором хранится список всех файлов cookie, которые он раздал клиентам. Я пытаюсь понять, как будет выглядеть код JSP / JSTL, чтобы проверить файлы cookie в запросе и сравнить их с тем, что сервер сохранил.

Что-то вроде:

    <c:forEach items="${cookie}" var="currentCookie">  

        <!-- Compare each incoming cookie with the cookies kept in the servlet,
             if there's not a match then redirect to the login page. Otherwise,
             show the contents of the page below --> 

    </c:forEach>  

<html>

    --- main page HTML here

Может кто-нибудь дать мне совет, как это сделать?

Ответы [ 3 ]

2 голосов
/ 31 мая 2011

Это должно быть задание Filter не для просмотра

  • Настройка Filter для проверки защищенных ресурсов
  • Проверьте, если пользовательсеанс имеет некоторое значение, которое логически заставляет его войти в систему.
  • , если не перенаправить пользователя в представление входа в систему

См. также

1 голос
/ 31 мая 2011

Я бы лично добавил свой JSP или любой контент презентации (который вы считаете защищенным) в папку WEB-INF и сопоставил бы его соответственно с вашим контроллером. Таким образом, контейнер сервлета будет скрывать его от внешнего просмотра.

0 голосов
/ 01 июня 2011

Даже это не правильный способ сделать это ... на самом деле вы можете сделать что-то подобное.

Попробуйте это:

    <c:forEach items="${cookie}" var="currentCookie">  

            <!-- Compare each incoming cookie with the cookies kept in the servlet,
                 if there's not a match then redirect to the login page. Otherwise,
                 show the contents of the page below --> 


            ${currentCookie.value.name} - ${currentCookie.value.value}<br/>

            <c:if test="${currentCookie.value.name=='JSESSIONID'}">
                Your Session is ${currentCookie.value.value}
            </c:if> 


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