为了保护jsp源码,是把jsp文件放入web-inf目录里呢?还是有其它更好的方法呢?请指教 为了保护jsp源码,是把jsp文件放入web-inf目录里呢?还是有其它更好的方法呢?请指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的保护源码是什么意思?不让人访问jsp文件? 可以参考Tomcat的做法直接配置servlet 而不把jsp文件放在工程里面 如果是这样,可以在server.xml配置一下。<Context path="/pro" docBase="C:/OA/Deploy/JSP" debug="0" privileged="true" reloadable="true" /> 谢谢大家关注to Paripatetic(逍遥):就是不让用户直接输入jsp地址链接访问页面,不让用户用下载工具(比如网络快车)把jsp源文件下载to interpb(曾曾胡):你地意思是用servlet代替所有的jsp吗?如果那样的话改动就比较麻烦了,目前项目的架构不可能作这样的改动.ps:项目用的是struts框架 晕,要是能下载JSP代码,我早发财了 明白 但是纠正一下FlashGet下载的也只是经server运行后的页面也就是IE中的源代码你不会这个都不让别人知道吧 是哦,下载的jsp果然是已经过解析了的,呵呵 既然不能直接下载源代码,现在就剩下"不让用户直接输入jsp地址链接访问页面"这个问题了,标准的做法是把jsp放入web-inf里呢?还是在tomcat那个什么安全那里配置什么的?还是有什么其他的方法,譬如当访问的是jsp的话就用拦截器挡一挡的? ,以前刚入行时一个公司把jsp都放在web-inf下,当时见识少,没把代码弄出来,后悔啊 现在我地jsp也是放在web-inf同级目录的,如果没有其他方法的话那就只能移入web-inf中了 谢谢大家了,我已经开始把jsp移入web-inf里了,但还是有点不死心,究竟有没别的更好方法防止用户绕过action直接输入jsp地址访问的呢,我用的是struts 你看这样行不行,验证上次页面的来源,但是对于用JavaScript跳转过来的也是返回false,他只能认出是不是通过链接点进来的。也可以通过这种方法,给所有的页都加上一个框架,如果出了框架那肯定是直接输入的了。<% String SelHttp=""; String ReHttp=""; try{ ReHttp=(String)request.getHeaders("Referer").nextElement(); } catch(Exception e){ return false; } SelHttp="http://"+request.getServerName(); if(request.getServerPort()!=80){ SelHttp+=":"+request.getServerPort(); } SelHttp+="/"; if((ReHttp.indexOf(SelHttp))!=0){ return false; } return true;%> 倒了,jsp就应该是做页面的,如果别人参考,也只是参考一下页面的布局和美工。这些都会变成html的,你保护不了的。要是你把更多的东西写进去了,只能说这个程序写的有些垃圾,不值得保护。如果真的想让别人不知道你的代码,推荐一个日本人的做法,写一些自定义标签,把页面的一些主要布局都写在标签里,这么的话以后修改还很方便,还能很好的做到界面的统一,可以说是一举多得,这么的话,即使是服务器的管理人员也拿不到你的代码。 说实话,我不太明白jsp页面有什么需要保护的,在单个的jsp上只有很简单的语句,基本上没有复杂的逻辑,你的关键数据都在类里面阿。 在struts中,jsp页面是不赞成直接访问的,都是通过action重定向访问,所以在许多情况下,直接访问jsp页面会出现页面错误等意想不到的情况,严重的时候可能还有安全漏洞,所以一般在struts中都需要禁止jsp页面直接访问.我知道有好几种方法,但在struts中,web-inf是比较安全简单的方法。 JSP 传参数给TimerTask JSP的session范围问题 求购网上书店后台模板 多表做一个树形菜单,帮忙解决下 在线等.... 如何在Textarea区中屏蔽非法汉字? 从flash中得到的参数如何显示在JSP页面上??(急!!) 如何在jsp 下安装和使用jstl1.1?? [面试题]相对于单机环境在网络环境下编程需要注意哪些方面 字符编码转换问题:高手请进! (鸡毛信)哎呀,JBBC真是麻烦,烦死我了! 一直没有解决的问题~(我是新手,大家帮帮忙) tomcat下,用sqlserver使用连接池的问题,急用!!!
不让人访问jsp文件?
<Context path="/pro" docBase="C:/OA/Deploy/JSP" debug="0" privileged="true" reloadable="true" />
就是不让用户直接输入jsp地址链接访问页面,不让用户用下载工具(比如网络快车)把jsp源文件下载to interpb(曾曾胡):
你地意思是用servlet代替所有的jsp吗?如果那样的话改动就比较麻烦了,目前项目的架构不可能作这样的改动.
ps:项目用的是struts框架
也就是IE中的源代码你不会这个都不让别人知道吧
标准的做法是把jsp放入web-inf里呢?还是在tomcat那个什么安全那里配置什么的?还是有什么其他的方法,譬如当访问的是jsp的话就用拦截器挡一挡的?
但还是有点不死心,究竟有没别的更好方法防止用户绕过action直接输入jsp地址访问的呢,我用的是struts
也可以通过这种方法,给所有的页都加上一个框架,如果出了框架那肯定是直接输入的了。
<%
String SelHttp="";
String ReHttp="";
try{
ReHttp=(String)request.getHeaders("Referer").nextElement();
}
catch(Exception e){
return false;
}
SelHttp="http://"+request.getServerName();
if(request.getServerPort()!=80){
SelHttp+=":"+request.getServerPort();
}
SelHttp+="/";
if((ReHttp.indexOf(SelHttp))!=0){
return false;
}
return true;
%>
这些都会变成html的,你保护不了的。要是你把更多的东西写进去了,只能说这个程序写的
有些垃圾,不值得保护。如果真的想让别人不知道你的代码,推荐一个日本人的做法,写一些自定义标签,把页面的
一些主要布局都写在标签里,这么的话以后修改还很方便,还能很好的做到界面的统一,可以说是一举多得,这么的话,即使是服务器的管理人员也拿不到你的代码。
访问jsp页面会出现页面错误等意想不到的情况,严重的时候可能还有安全漏洞,所以一般在struts中都需要禁止jsp页面直接访问.我知道有好几种方法,但在struts中,web-inf是比较安全简单的方法。