У меня есть страница JSP, которая отображает PDF-документ при его вызове. Предполагая, что я создаю URL-адрес в этом формате:
http://localhost:8080/repository/file/view/viewPDF.jsp?fileID=27455
и отправить другому пользователю. Пользователь без проблем может просмотреть документ (id:27455) в своем браузере. Но допустим, я хочу скрыть отображаемую панель инструментов PDF, чтобы пользователю не был разрешен доступ к этой панели инструментов.
Я обнаружил, что, введя эту ссылку:
http://localhost:8080/repository/file/view/viewPDF.jsp?fileID=27455#toolbar=0
Затем это выше скроет панель инструментов, но она уязвима, поскольку другой пользователь может изменить ее значение на 1, и панель инструментов появится. Я думаю, можно ли вместо этого скрыть это внутри внутреннего кода, но не могу понять, как это сделать.
Мой взглядPDF.jsp:
<%@page import="java.io.*"%>
<%@include file="../../../WEB-INF/jspf/mcre.jspf" %>
<%
response.setContentType("application/pdf");
boolean debug = true;
try {
String snodeid = request.getParameter("nodeID");
long nodeid = Long.parseLong(snodeid);
Pdfinfo pdf = PPFacade.getPDFInfo(nodeid);
String pdfpath = pdf.getFfullpath();
if (debug) {
System.out.println("=============== PDF STREAM ================");
System.out.println("pdfpath = "+ pdfpath);
}
//int len = (int)new File("D://test.pdf").length();
int len = (int)new File(pdfpath).length();
response.setContentLength(len);
byte[] buf = new byte[len];
FileInputStream pdfin = new FileInputStream(pdfpath);
pdfin.read(buf);
pdfin.close();
OutputStream pdfout = response.getOutputStream();
pdfout.write(buf,0,len);
pdfout.flush();
if (debug) {
System.out.println("=============== END PDF STREAM ================");
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
%>
<head>
PDF
</head>
Конечно, я знаю, что скрытие #toolbar
не является надежным, так как любой пользователь с такими знаниями может легко обойти его.
toolbar=1
к URL-адресу, и это разрушит цель, я прав? - person Daredevil   schedule 13.03.2019#toolbar
, поэтому я решил сделать это в бэкэнде, но понятия не имею, как это сделать. - person Daredevil   schedule 13.03.2019outputstream pdfout
скрыл панель инструментов? - person Daredevil   schedule 13.03.2019if else
для решения проблемы. Мне просто интересно узнать о настройках панели инструментов в бэкэнде. Потому что, когда я ввожу URL-адрес, он в основном вызываетviewPDF.jsp
, что показано в моем вопросе. - person Daredevil   schedule 13.03.2019