Сегодня мы поговорим о противоукрашенных ссылках Java. Бесполезно говорить об этом больше, и мы будем напрямую использовать случаи приложений.
Используемый здесь инструмент представляет собой FineReport программного обеспечения для отчетности, который оснащен системой принятия решений (система дисплея веб-интерфейса, в основном используемая для управления разрешением), и может использовать противоугодную ссылку Java для достижения разрешений на страницы.
При непосредственном входе в URL -адрес отчета в браузере его заголовок пуст. Следовательно, вы можете вынести два суждения при доступе: пустым файл заголовка и на какую страницу перейти, и если он не соответствует, просто перейдите на страницу ошибки.
Что такое реферат?
Реферат здесь относится к поле в заголовке HTTP, также известном как адрес источника HTTP (рефератель HTTP), который используется для указания, где ссылаться на текущую веб -страницу, а формат - URL. Другими словами, веб-страница заголовка HTTP Referer может проверить, откуда берутся посетители, которые часто используются для решения поддельных перекрестных запросов.
Что такое пустой реферат и когда появится пустой рефере?
Во -первых, мы определяем пустого реферата как содержимое заголовка реферала пустое, или HTTP -запрос вообще не содержит заголовка реферала.
Итак, когда HTTP -запросы не будут включать в себя поле реферала? В соответствии с определением реферата его функция состоит в том, чтобы указать, где связан запрос. Когда запрос не генерируется контактом ссылки, естественно, нет необходимости указывать источник ссылки запроса.
Например, если вы непосредственно введете адрес URL -адреса ресурса в адресной строке браузера, этот запрос не будет включать поле реферала, поскольку это HTTP -запрос, «генерируемый из воздуха» и не связан из одного места.
В настройке противоугодного цепи, в чем разница между разрешением пустого реферата и не разрешением пустого реферата?
В цепочке против кража, если пустой реферат разрешен, можно напрямую получить непосредственный доступ к URL-адресу ресурса через адресную строку браузера;
Однако, если пустого реферика не допускается, прямой доступ через браузер также запрещен.
Операция
1. Добавить файл класса
Запишите файл класса, чтобы определить, пуст ли заголовок, код следующим образом:
пакет com.fr.test; import java.io.ioexception; import java.io.printwriter; импорт javax.servlet.filter; import javax.servlet.filterchain; импорт javax.servlet.filterConfig; import javax.servlet.servletexception; import javax.servlet.sersquest; javax.servlet.servletresponse; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; импорт javax.servlet.http.httpsession; public class dodo filter {public void destress. void dofilter (запрос ServletRequest, ответ ServletResponse, цепочка FilterChain) бросает ioException, servletexception {httpservletrequest req = (httpservletrequest); Httpservletresponse resp = (httpservletresponse) ответ; String referer = req.getheader ("Реферат"); // IP -адрес ниже представляет собой обычный запрос страницы if (null! = Referer && (referer.trim (). StartSwith ("http: // localhost: 8033") || referer.trim (). Startswith ("http://www.finereporthelp.com/test/hello.html"). Запрос "+Реферат); chain.dofilter (req, resp); // следующее должно прыгать, когда запрос на страницу не является нормальным} else {System.out.println ("cheare great"+referer); req.getRequestDispatcher ("/ldaplogin.jsp"). }} public void init (FilterConfig arg0) бросает ServletException {// TODO Auto Generated Method Stub}}Скомпилируйте dodo.java в файл класса и поместите его в %tomcat_home %/webreport/web-inf/class/com/fr/test Directory.
2. Изменить файл web.xml
Откройте файл web.xml под %tomcat_home %/webapps/webreport/web-inf, настроить фильтр фильтра и выполнить фильтрацию, когда появляется Reportserver. Код заключается в следующем:
<filter> <filter-name> authfilter </filter-name> <filter-class> com.fr.test.dodo </filter-class> </filter> <filter-mapping> <filter-name> authfilter </filter-name> <url-pattern>/reportver </url-pattern> </filter-mapping>
Это можно сделать в двух шагах. Если это украденная ссылка, она перейдет на вышеупомянутую страницу ошибки LDAPLOGIN. Здесь нет страницы LDAPLOIGN, поэтому она перепрыгнет непосредственно на 404. Если вы хотите реализовать разрешения на данные, вы можете использовать отдельный вход или сеанс.
Тест на эффективность
Подготовьте два HTML -файла
Предположим, Hello.html - правильный URL
<html> <body> <p> test </p> <a href = "http: // localhost: 8033/webreport/reportserver? oportlet = demo%2fnewchart%2fothers%2flogarithmic_axis.cpt & op = write"> Тест против краю цепочки </a> </body> <html>
Предположим, что Steel.html является URL для кражи ссылок
<html><body><p>Test, wrong link address</p><a href="http://localhost:8033/WebReport/ReportServer?reportlet=demo%2Fnewchart%2Fothers%2FLogarithmic_axis.cpt&op=write">Anti-theft chain test</a></body></html>
Ситуация 1
Прыгайте через hello.html, ссылка на прыжок верна, то есть реферат не пуст и правильный
Ситуация 2
Прыгайте через сталь.html, Jump Link неверна, то есть реферат не пуст и ошибка
Ситуация третья
Прямой доступ к адресу URL -адреса, то есть реферат пуст
Приведенный выше пример применения цепочки анти-кража Java в отчете (рекомендуется)-это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.