分享
 
 
 

关于让客户提交数据文件的方法的相关讨论(整理自itpub)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

http://www.itpub.net/288917.html(原贴)

老板这想法不太对吧?斑竹们,高手们进来瞧瞧

公司业务有一个需求,希望客户可以在通过网站上传一些固定格式的数据文本资料,然后转入数据库中。

偶的想法是在后台加一个资料导入的功能。

偶们老板说不安全,一定要很复杂的弄个EMail接收。说要客户直接发邮件到固定邮箱,将文本文件作为附件,然后要服务器定时去收邮件,读取附件内容,导入数据库中,再发邮件通知用户。

你说一简单的东西,他弄这么复杂干什么?而且,要服务器定时收邮件,又要用到线程,增加服务器负担,现在服务器不过是一台配置较好的PC,他还想干啥呀?

各位JAVA高手对此有何看法?

让客户ftp的话,老板说对他们要求太高了,应该只要他们会发邮件就行。

他说在网站上让他们上传文件的话,对服务器不安全。

偶晕。

肥猫,你说的james是什么功能的?

我觉得偶们老板的想法太复杂了。哪有这样做的啊?晕倒。

-----------------------------------------------------------------------

使用email方式安全,而且当发生纠纷事件是查看一下email系统的日志就可以了。

产权明晰的。

-----------------------------------------------------------------------

quote:

--------------------------------------------------------------------------------

最初由 abiao 发布

这样的话,一旦你的邮件服务器受到攻击;或者自动读取程序出了问题;或者遇到恶意的垃圾邮件;你的业务系统怎么办?

--------------------------------------------------------------------------------

不使用通用的EMAIL服务器, 首先可以简单地通过使用特殊的EMAIL格式过滤掉垃圾邮件, 大幅度减少受到攻击的可能性, 其次象JAMES这样的系统, 可以不使用硬盘保存邮件直接对邮件做处理, 从而避免传送大量邮件, 破坏服务器文件系统的可能

-----------------------------------------------------------------------

用法上, 用JAMES开发和SERVLET开发差不多, 在JAMES里服务器端的应用程序被称为MAILET,

其主要的类是MAIL, 这相当于HTTPREQUEST

MAILET的主要方法是

public void service(Mail mail) throws javax.mail.MessageException{

}

这个方法和SERVLET中的getHttpRequest(偶记不太清了)相当, 当服务器受到EMAIL的时候, 就会根据设定选择适当的MAILET然后启动这个方法, 剩下的就要由你写代码了

从设计上看, 你要想清楚你的数据格式

比如说, 如果你要考虑信息的安全性的话, 就应该要求用户对数据进行加密

如果还要考虑服务器的安全性的话, 则要考虑在EMAIL的HEADER中加如识别信息(有些人容易把这类信息和文件内容混淆, 因而图省事把这部分信息加在文件头部, 这会造成在对文件解密时的安全漏洞)

把这些需求弄清楚了, 接下来就要考虑用户界面的问题, 比如说可以使用BROWSER自卑的发送EMAIL的功能直接弹出窗口由用户添加文件后, 自动发送, 或者向用户提供一些小工具帮助他们完成操作等,等

反正你也要用MAIL SERVER的呀, 用JAMES也不见得难到哪里去

要不你就的使用POP3或者是IMAP包, 从MAIL SERVER上取得MAIL以后用MIME类打开,就能处理附件了

-----------------------------------------------------------------------

SMTP服务器的安全性无论如何也是不能保证的,因为SMTP本身是不安全的,而安全扩展很多服务器由不支持。而WEB服务器还可以通过认证来保证安全性。

如果一定要做EMAIL的话,建议不要开放SMTP端口,只开放POP端口,并且使用扩展的安全性(基于摘要认证的),给你的客户分配用户名密码,然他们把E-mail直接发到你的服务器上。

-----------------------------------------------------------------------

quote:

--------------------------------------------------------------------------------

最初由 base 发布

送信是SMTP,收信是POP嘛,看信是IMAP,哈哈,JAMES没实现IMAP

--------------------------------------------------------------------------------

你这是从CLIENT上看滴, 实际上EMAIL是这样传送地

SMTP-INTERNET->SMTP(MAIL SERVER)->MAIL信箱(MAIL SERVER) ->POP/IMAP-INTERNET->CLIENT

-----------------------------------------------------------------------

恩, 总体上看要实现EMAIL和DB的连动, 大致是这样一个框架

1. SMTP(EMAIL CLIENT)--INTERNET--> (SMTP)EMAIL SERVER

2. JAVA程序监视或者监听 EMAIL SERVER

3. 启动JAVA处理程序

3.1 解析EMAIL

3.2 写入DB

在这个框架中, 如果需要考虑信息的安全保密问题的话, 最好在第一步就加入SSL协议变成

1. SMTP+SSL--INTERNET--> SMTP+SSL

不过, 偶想你还不了解用户方面的EMAIL服务器配置, 这样做是否可行还是一个问题, 这需要同用户协商, 了解用户需求(是否使用网络上免费的EMAIL PROVIDER, 这个也应该由用户决定)

作为一个候补方案, 可以使用你们公司自己的EMAIL服务器, 但是这样一来, 你们就要为用户长期提供服务, 在你们项目的合同中是否有这样的条款捏?

还有一个方案, 就是用JAMES做自己的EMAIL服务器, 这个嘛, 用户的网络是否允许, 还有JAMES是否支持SSL等等还需要调查

另外, 考虑到服务器自身的安全问题, 如果使用已有的EMAIL服务器的话, 则需要在监视EMAIL服务器的时候(也就是第二步)加过滤程序, 以免受到垃圾或者病毒邮件的干扰

2. JAVA程序监视或者监听 EMAIL SERVER, 过滤有效邮件

至于到底是监听(就是实时处理方式)还是监视(就是分时制, 比如说1小时检查一下文件夹) 要看你是否使用JAMES了, 使用JAMES时不需要在HD上保存文件, 所一可以采用监听方式, 如果不使用JAMES则要使用监视方式

3.启动方式, 如果是JAMES则可通过MAILET实现, 否则, 要做DAEMON程序, 定时检查信箱

4.EMAIL解析, 当然要用JAVA的EMAIL包咯

总之, 这个问题不仅仅是技术问题, 更重要的是要同用户共同协调

-----------------------------------------------------------------------

酱紫呀, 那偶得好好解释一下

EMAIL的功能由三部分组成

MTA-MAIL TRANSFER AGENT(介个是邮递员)

MDA-MAIL DELIVERY AGENT(公司前台的小MM )

MUA-MAIL USER AGENT(介个就是偶啦 )

偶发MAIL的时候, 偶要按照SMTP协议(就是邮递员协议), 把MAIL贴上邮票写好地址放到邮电局的信箱里(通过DNS找到MTA), 邮递员(MTA)看到偶的MAIL之后, 就把偶给鸭鸭的信放到鸭鸭的信箱里

MUA->INTERNET(SMTP)->MTA->MAIL BOX

鸭鸭(MUA)想看看自己有什么信件, 就打了个电话给前台的MM(通过POP/IMAP协议和MDA通信)那MM说, 猫猫给你写了封信, 然后就把偶的信交到了鸭鸭那里.

MAIL BOX ->MDA->INTERNET(POP/IMAP)->MUA

在这个系统中, MUA显然是用JAVA MAIL包做的处理程序

而MDA和MTA还没有决定

如果MTA就是JAMES的话, 就没有必要使用MDA乐, 同时POP和IMAP也就用不着了

如果MTA是一个外部的服务器的话, 处理程序就要使用POP和MDA通信了

如果要考虑安全问题的话, MTA/MDA的安全, MUA的安全都是要考虑到的

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有