站内文章搜索
您现在的位置: IT坊资讯网 >> 站长之家 >> 网站设计 >> 设计技巧 >> 文章正文 立即注册会员投稿
服务器安全 守住关口防止脚本木马上传
作者:IT坊 文章来源:互联网 更新时间:2008-3-18 18:42:50         ★★★

如果服务器本身配置已经相当安全,那么作为WEB服务器的危险之处就在于上传。记得有一位知名程序员曾说过这样一句话:永远别信任访客提交的东西,管理员都知道上传入口永远是最大的心病,那么如何尽可能的守住服务器安全阵地的入口呢?其实也很简单。

    服务器文件上传构成
    在这里可以写一个简单的html页面up.html,提供一个表单,用户从这里选择文档并把文档上载到服务器。

    <html>
    <head>
    <title>文档上载</title>
    </head>
    <body>
    <form action="upjsp.jsp" enctype="multipart/form-data" method=post>
    <br />
    公司: <input type="text" name="company" />
    <br />

    选择要上载的文档 <input type="file" name="filename" />

    <br />
    <input type="submit" value="上载" />
    </form>
    </body>
    < ml>

    注意,<form>标记有一个enctype属性,属性值是"multipart/form-data"。有个type为file的输入框是用来选择上传文档的。 表单的action属性值是upjsp.jsp,这是将请求发送给upjsp.jsp文档。而upjsp.jsp则是调用了名为upbean的javabean。 程式如下:

    <jsp:usebean id="thebean" scope="page" class="upbean " />
    <%
    thebean.doupload(request);
    %>

    下面是upbean的实现代码:

    import java.io.*;
    import javax.servlet.http.httpservletrequest;
    import javax.servlet.http.httpservletresponse;
    import javax.servlet.servletinputstream;
    public class upbean {
    public void doupload(httpservletrequest request) throws
    ioexception {
    printwriter pw = new printwriter(
    new bufferedwriter(new filewriter("test.txt")));
    servletinputstream in = request.getinputstream();
    int i = in.read();
    while (i != -1) {
    pw.print((char) i);
    i = in.read();
    }
    pw.close();
    }
    }

    这个javabean把httpservletrequest对象的表单原始数据写入test.txt文档.

    选择上传一个文本或网页文档。点击“上载”按钮之后,表单就发送给了upjsp.jsp文档,一起发送的还有上传的文档。upjsp.jsp文档不会向浏览器发送任何应答内容,但是会生成一个test.

[1] [2] 下一页

网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
看本文的网友还看了:
网友看的热门文章:
 
招商信息
视觉焦点

设为首页 - 加入收藏 - 关于我们 - 广告合作 - 友情链接 - 投稿与建议 - 版权申明 - 帮助中心

Copyright©2004--2007 www.ithov.com IT坊资讯网版权所有
网站客服QQ群 ①群15569476 ②群19439244 ③群20730522 ④群31220781 ⑤群7190232
未经授权禁止转载、摘编、复制、盗链或建立镜像.如有违反,追究法律责任.
鄂ICP备05000249号
本站提供的所有资源均来自互联网,下载纯属学习交流之用,如侵犯您的版权请与我们联系,我们会尽快改正!请在下载24小时后删除