免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9053 | 回复: 9
打印 上一主题 下一主题

[Web] apache 怎么禁止用户直接下载js文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-21 02:36 |只看该作者 |倒序浏览
我有个JS文件,不想让用户看到源代码,想用apache实现禁止下载,但是又能让网页正常调用,可以实现吗?请大家看看

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2005-04-21 14:13 |只看该作者

apache 怎么禁止用户直接下载js文件

这个估计不是很好实现。

不过你可以这么做:
1]使用Apache的Rewrite来检测调用网址是否为你所期望的,类似于防治 图片被盗连。
2]用程序来输出,程序检查调用网址是否为你所期望的。
例如:
http://www.cfan.com.cn/comments/js.php
你访问他,显示什么?
你如果访问:
http://www.cfan.com.cn/pages/20050420/1394.htm
看源代码,也有对js.php的调用,但是这次可以输出数据了。

论坛徽章:
0
3 [报告]
发表于 2005-04-21 16:19 |只看该作者

apache 怎么禁止用户直接下载js文件

不可以

论坛徽章:
0
4 [报告]
发表于 2005-04-21 17:22 |只看该作者

apache 怎么禁止用户直接下载js文件

这样应该无法做到

可以将javascript 简单加密下,简单的用escape加密

比如一段 javascript程序 alert("hello"

通过下面加密
document.write(escape("alert(\"hello\"");

结果应该出来 alert%28%22hello%22%29
拷贝结果出来先unescape掉 然后用eval调用
eval(unescape("alert%28%22hello%22%29")

这句话的实际结果就是 alert("hello"

你可以做得更加复杂点,加密解开用自己定义的javascript函数,这样至少别人看起来比较累

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
5 [报告]
发表于 2005-04-21 18:12 |只看该作者

apache 怎么禁止用户直接下载js文件

你看到了我给你的演示页面么?

直接访问js.php是默认的提示
而在html页面嵌入了js.php,你自己可可以看源代码是作为javascript来调用js.php的,确实输出了需要的内容喔

论坛徽章:
0
6 [报告]
发表于 2005-04-22 16:38 |只看该作者

apache 怎么禁止用户直接下载js文件

禁止直接下载无非就是检测“Refer”

论坛徽章:
0
7 [报告]
发表于 2005-04-24 02:20 |只看该作者

apache 怎么禁止用户直接下载js文件

原帖由 "HonestQiao" 发表:
这个估计不是很好实现。

不过你可以这么做:
1]使用Apache的Rewrite来检测调用网址是否为你所期望的,类似于防治 图片被盗连。
2]用程序来输出,程序检查调用网址是否为你所期望的。
例如:
http://www...........



但是这个方法好像有问题呀,用户直接另存一下就得到源码了
加密好像也不是太好的办法

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
8 [报告]
发表于 2005-04-24 10:09 |只看该作者

apache 怎么禁止用户直接下载js文件

原帖由 "ptsmy" 发表:



但是这个方法好像有问题呀,用户直接另存一下就得到源码了
加密好像也不是太好的办法


呵呵,那你可以实际访问一下子:
http://www.cfan.com.cn/pages/20050415/1338.htm

卡看你怎么把评论的部分的文件,单独保存下来。

你保存的时候,实际上是文章不存在哦

论坛徽章:
0
9 [报告]
发表于 2005-04-24 12:31 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2005-04-24 15:05 |只看该作者

apache 怎么禁止用户直接下载js文件

是这段吗?我想大概是它吧,我看一了下页面代码,大概和下面的代码完成的功能差不多。

   document.write("<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"2\" bgcolor=\"F8ECE8\">;";    document.write("<tr bgcolor=\"#FFFFFF\">;<td align=center width=60>;<a href='#comment_add'>;发表评论</a>;</td>;<td width=300 align=center>;<a href=http://www.cfan.com.cn/comments/index.php?user=2005042000001394 target=_blank>;查看所有评论</a>;&amp;(总共1条,今增加0条 )</td>;<td width=120 align=center>;发表时间</td>;</tr>;";    document.write("<tr bgcolor=''>;<td width=60>;CFAN</td>;<td style=\"WORD-WRAP:break-word;\" width=300>;欢迎发表评论</td>;<td width=120 align=center>;2005-04-21 13:27:30</td>;</tr>;";    document.write("</table>;";    document.write("<a name=\"comment_add\">;<TABLE>;<form name=\"comment\" method=\"post\" action=\"http://www.cfan.com.cn/comments/index.php\" onsubmit=\"return checkInput();\" target=_blank>;<TR>;<td>;评论人:</td>;<td>;<input type=\"text\" name=\"username\" value=\"\">;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;<input type=\"checkbox\" name=\"none\" value=\"1\" onclick=\"setniming();\">;匿名评论</td>;</tr>;<tr>;<td>;评论内容</td>;<td>;<textarea name=\"content\" vwrap=\"SOFT\" cols=\"60\" rows=\"8\">;</textarea>;</td>;</tr>;<tr>;<td>;<input type=\"hidden\" name=\"mode\" value=\"0\">;<input type=\"hidden\" name=\"viewpass\">;<input type=\"hidden\" name=\"email\">;<input type=\"hidden\" name=\"homepage\">;<input type=\"hidden\" name=\"oicq\">;<input type=\"hidden\" name=\"from\" value=\"http://www.cfan.com.cn/pages/20050420/1394.htm\">;<input type=\"hidden\" name=\"userhead\" value=\"1.gif\">;<input type=\"hidden\" name=\"action\" value=\"add\">;</td>;<td>;<input type=\"submit\" name=\"Submit\" value=\"提交评论\">;<input type=\"reset\" name=\"Submit2\" value=\"删除重写\">;</td>;</tr>;</form>;</table>;";
        function setniming()
{
        if( comment.none.checked ) {
                comment.username.value = "CFAN网友";
        }
        else {
                comment.username.value = "";
        }
}
function checkInput(){
        if(comment.username.value==""{
                alert("评论人不能为空";
                return false;
        }
        if(comment.content.value.match(/^\s*$/) != null){
                alert("内容不能为空";
                return false;
        }
        pageLoad();
        return true;
}
function pageLoad()
{
  setTimeout("window.location.reload()",1000);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP