标签: Web服务器

Web服务器与数据库服务器分离 导入 Excel数据至数据库

一般情况一般项目WEB服务器与数据库均部署在一台服务器,文件上传,数据导入在一台服务器完成。web服务器与数据库服务器分离,文件上传与数据导入将分布在两台服务器或多台服务器之间。本案例为两台服务器,具体实施步骤如下:

一.两台服务器(a:web服务器,b:数据库服务器),a,b均安装Windows Server 2008 R2操作系统,a服务器安装IIS7.5,.NET FrameWork4.5,b服务器安装SQL Server 2008数据库。a服务器安装网域,并创建一个域用户(dataFileUploadUser),取消新建域用户远程控制权限,将b服务器加入网域(Windows Server 域的创建与加入可在网上搜索相关文章)。

二.在b数据库服务器创建存放excel文件夹,并将此文件夹设置为共享,文件夹的访问权限和共享权限设置为*步创建的域用户(dataFileUploadUser),赋于读/写权限。

三.在a服务器通过“映射网络驱动器测试”,挂载b服务器的共享文件夹设置是否正常。

四.以上步骤测试通过后,对web服务器进行设置。

五.在a服务器的“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的文件夹,赋于域用户(dataFileUploadUser)修改权限。

六:修改a服务器web程序web.config文件:

<appSettings>

<!–上传文件保存路径–>

<add key=”WebTemp” value=”\\xx.xx.xx.xx\exceldata” />

</appSettings>

<system.web>

<!–访问共享文件夹帐号密码–>
<identity impersonate=”true” userName=”dataFileUploadUser” password=”123″/>
</system.web>

七:上传文件至共享文件夹代码:

string uploadPath = System.Configuration.ConfigurationManager.AppSettings[“WebTemp”];

if (file != null)
{
string ExcellastName=Guid.NewGuid().ToString().Replace(“-“, “”) + “.xls”;
string filePath = Path.Combine(uploadPath, ExcellastName);
file.SaveAs(filePath);

}

八.b数据库服务器读取上传文件,导入数据。

web服务器与文件服务器,图片服务器分离上传文件适用此方法。

linux下web服务器与数据库服务器的分离问题。

两台linux服务器,一个是web 服务器(有外网IP) ,用ftp传网站的源文件,装的是apache2+tomcat5.0+jdk1.5,另一台mysql5.0数据库服务器(只设置内网IP)。两台服务器同属一个内网段。

现在的问题是我在本地用FTP传源文件到WEB服务器,连接不上mysql数据库服务器,在web服务器做了一个jsp连接测试文件也连不通,任何提示都没有。后来我把用ftp传的源文件复制到了tomcat/webapps/目录下面,结果却连通了,我不明白这个是什么问题,请赐教。

web服务器和数据库服务器分离的优势

一般我们服务器都是分开的,网页服务器、数据服务器单独配置。

web服务器不掉,那么就可以正常使用,data服务器掉了,那么web还可以坚持一会。

如果是web服务器掉了,那么就上不去了,不过有一些设置有web服务器掉了就启动data中的备份web模拟服务器,可以在短时间内运行,节约问题。

所以 必须要分两个来安装,对于大项目而言。

如果没有成本,又是小项目,那么也就没有办法的事情,将就使用一个服务器了。

从好坏来分:

必须是两台安全, 数据库服务器可以只提供数据检索服务而不必处理其它服务。

且数据库服务器不需要外网,只在内网为WEB服务器提供数据查询服务即可。

WEB服务器可以只处理WEB请求,不处理数据库操作,可以更好的利用带宽资源

一台只是减少了成本,价格低了。缺点很明显,死掉了就一起死掉了。

针对WEB服务器的攻击途径和防范措施

对策:
1:停止运行不需要的软件
2:定期实施漏洞防范措施
3:对不需要对外公开的端口或者服务加以访问限制,
通过端口扫描确认各端口服务状态(工具:Nmap(windows版))
4:提高认证强度(https,实名认证,数据加的密码MD5加密)

一:关于弱口令
1:密码必段要有条件限制,如数字+字母+特殊字符
2:密码输入次数必须要有限制,如:输入3次不成功,禁N小时,输入5次不成功,禁一天
3:登陆之前要有图片验证码或者短信验证码,加强防止黑客攻击
二:关于上传文件
1:需要限制上传文件的格式
2:建议除了验证文件的后缀, 还要验证文件的头文件内容(以防黑客把一个病毒改成我们可以上传的后缀名上传到服务器)
三:建议使用HTTPS
四:需要升级strusts 2,修复安全漏洞

出现过的安全问题:
1:服务器被黑客攻击,导致防问网站很慢
2:注册短信被黑客随机用程序模拟攻击,导致短信发送完毕,注册程序无法正常打开
3:数据库的索引没有设置好,由于用户访问过多,每次都进行大量的查询,导致模拟炒股程序无法打开,mongo数据库和mysql数据库的压力很大
4:邮件服务器被攻击,导致邮件发送和接收不到
5:数据库被攻击
6:系统和程序的漏洞
7:钓鱼攻击

安全性测试方法
1:委托专家进行漏洞诊断
2:使用专业工具进行诊断
3:进行自我诊断

攻击方法:
1:SQL注入攻击
2:跨站脚本攻击(XSS)
3:在服务器上执行上传的脚本或文件进行攻击,诱使用户下载恶意文件
4:OS命令注入漏洞
(手段:调用sendmail命令发送邮件
产生原因:
1)使用了内部调用shell的函数,system,open等
2)将外界传入的参数传递给内部调用shell的函数
3)参数中shell的元字符没有被转义)
5:eval函数的使用方法不当(导致信息泄漏,篡改网站,执行非法操作,攻击其他网站)
6:共享资源漏洞

运维阶段的注意事项
1:对日志文件的监视
2:漏洞对策
3:对上次诊断之后新增加的页面或者功有进行诊断
4:检查新出现的攻击方法的对策

典型安全功能:
1:登陆力能
1)通过SQL注入攻击来跳过登陆功能
2)通过SQL注入攻击获取用户密码
3)在登陆页面进行暴力破解
4)通过社会化攻击得到用户密码(指通过欺骗用户得到重要信息)
5)通过钓鱼方法获取密码

黑客攻击WEB服务器的常用方式

1、SQL注入漏洞的入侵

这种是ASP+ACCESS的网站入侵方式,通过注入点列出数据库里面管理员的帐号和密码信息,然后猜解出网站的后台地址,然后用帐号和密码登录进去找到文件上传的地方,把ASP木马上传上去,获得一个网站的WEBSHELL。
2、ASP上传漏洞的利用

这种技术方式是利用一些网站的ASP上传功能来上传ASP木马的一种入侵方式,不少网站都限制了上传文件的类型,一般来说ASP为后缀的文件都不允许上传,但是这种限制是可以被黑客突破的,黑客可以采取COOKIE欺骗的方式来上传ASP木马,获得网站的WEBSHELL权限。
3、后台数据库备份方式获得WEBSHELL

这个主要是利用网站后台对ACCESS数据库进行数据库备份和恢复的功能,备份数据库路径等变量没有过滤导致可以把任何文件的后缀改成ASP,那么利用网站上传的功能上传一个文件名改成JPG或者GIF后缀的ASP木马,然后用这个恢复库备份和恢复的功能把这个木马恢复成ASP文件,从而达到能够获取网站WEBSHELL控制权限的目的。

4、网站旁注入侵

这种技术是通过IP绑定域名查询的功能查出服务器上有多少网站,然后通过一些薄弱的网站实施入侵,拿到权限之后转而控制服务器的其它网站。

5、sa注入点利用的入侵技术

这种是ASP+MSSQL网站的入侵方式,找到有SA权限的SQL注入点,然后用SQL数据库的XP_CMDSHELL的存储扩展来运行系统命令建立系统级别的帐号,然后通过3389登录进去,或者在一台肉鸡上用NC开设一个监听端口,然后用VBS一句话木马下载一个NC到服务器里面,接着运行NC的反向连接命令,让服务器反向连接到远程肉鸡上,这样远程肉鸡就有了一个远程的系统管理员级别的控制权限。
6、sa弱密码的入侵技术

这种方式是用扫描器探测SQL的帐号和密码信息的方式拿到SA的密码,然后用SQLEXEC之类的工具通过1433端口连接到远程服务器上,然后开设系统帐号,通过3389登录。然后这种入侵方式还可以配合WEBSHELL来使用,一般的ASP+MSSQL网站通常会把MSSQL的连接密码写到一个配置文件当中,这个可以用WEBSHELL来读取配置文件里面的SA密码,然后可以上传一个SQL木马的方式来获取系统的控制权限。

7、提交一句话木马的入侵方式

这种技术方式是对一些数据库地址被改成asp文件的网站来实施入侵的。黑客通过网站的留言版,论坛系统等功能提交一句话木马到数据库里面,然后在木马客户端里面输入这个网站的数据库地址并提交,就可以把一个ASP木马写入到网站里面,获取网站的WEBSHELL权限。
8、论坛漏洞利用入侵方式

这种技术是利用一些论坛存在的安全漏洞来上传ASP木马获得WEBSHELL权限,*典型的就是,动网6.0版本,7.0版本都存在安全漏洞,拿7.0版本来说,注册一个正常的用户,然后用抓包工具抓取用户提交一个ASP文件的COOKIE,然后用明小子之类的软件采取COOKIE欺骗的上传方式就可以上传一个ASP木马,获得网站的WEBSHELL。

针对Web服务器的八种入侵攻击方式

一、WEB服务器面临威胁
在了解WEB服务器的安全状况之前,首先要让大家了解网站安全的另一面——黑客攻击。97至98年互联网开始在中国兴起之时,黑客就已经诞生了,在98年印尼排华事件中,中国黑客对印尼ZF网站的打击行动通过媒体的渲染,让黑客一词进入了广大中国网民的眼帘。随着几次黑客大战的爆发以及媒体对黑客的渲染,让更多人加入了黑客这个队伍。那么黑客都是通过怎样的技术手段实施攻击的呢?97年到2002年以来,除了比较有名的UNICODE漏洞之外,黑客们大部分都是利用系统的各种溢出漏洞来实施入侵,包括像ipc共享空连接漏洞,ida/idq,printer漏洞,rpc漏洞等等。2003年,中国互联网开始从01年的互联网寒冬逐渐走向复苏,盛大、分众传媒、空中网等一系列IT企业分别在纳斯达克上市成功更进一步激起了更多IT从业人员开始开设网站和成立IT公司,梦想有一日能上纳斯达克拿美国股民的钱。网站数量的激增以及大家对网络安全的轻视,导致通过WEB的各种漏洞来进行入侵的事件越来越多。SQL注入漏洞随着黑客高手们一次又一次地使用在拿国内外游戏数据库和游戏网站的权限,并高价卖出,买车买房子之时,SQL注入以及相关技术在黑客的群体中普及开来。黑客们在比尔.盖茨先生弥补了大部分系统漏洞之后,开始转移方向,发现基于网站的各种脚本漏洞能非常轻易的使用, 而且能够通过提权来获取系统权限。于是,基于web的脚本漏洞成功黑客们的*爱。随后流氓软件开始在中国的互联网大地上盛行了起来,互联网的网站应用领域的黑客入侵技术开始流行了起来。*典型的就是黑客的网站挂马技术,这种技术就是利用网站的漏洞建立或者上传一个ASP木马的方式来获取网站的WEBSHELL权限,然后通过WEBSHELL权限通过提权获取系统权限,再接着就是在服务器的网站里面加入一些恶意的脚本代码,让你的电脑在访问网站的时候,不知不觉的中病毒和黑客程序,*后你电脑里面的重要资料,QQ号,网络游戏帐号,网上银行帐户里面的现金都会不翼而飞。 据专业权威机构统计,02年中国境内网站被入侵的比例不到10%,而到了06年,中国境内网站被入侵的比例是85%。黑客技术的普及化以及巨大商业利益的窃取网上银行的资金,QQ号码倒卖,网络游戏装备和帐号的倒卖等地下黑客产业链的形成是导致网站遭遇安全事件的主因。

二、WEB的各种攻击手段
1、SQL注入漏洞的入侵
这种是ASP+ACCESS的网站入侵方式,通过注入点列出数据库里面管理员的帐号和密码信息,然后猜解出网站的后台地址,然后用帐号和密码登录进去找到文件上传的地方,把ASP木马上传上去,获得一个网站的WEBSHELL。
2、ASP上传漏洞的利用
这种技术方式是利用一些网站的ASP上传功能来上传ASP木马的一种入侵方式,不少网站都限制了上传文件的类型,一般来说ASP为后缀的文件都不允许上传,但是这种限制是可以被黑客突破的,黑客可以采取COOKIE欺骗的方式来上传ASP木马,获得网站的WEBSHELL权限。
3、后台数据库备份方式获得WEBSHELL
这个主要是利用网站后台对ACCESS数据库进行数据库备份和恢复的功能,备份数据库路径等变量没有过滤导致可以把任何文件的后缀改成ASP,那么利用网站上传的功能上传一个文件名改成JPG或者GIF后缀的ASP木马,然后用这个恢复库备份和恢复的功能把这个木马恢复成ASP文件,从而达到能够获取网站WEBSHELL控制权限的目的。
4、网站旁注入侵
这种技术是通过IP绑定域名查询的功能查出服务器上有多少网站,然后通过一些薄弱的网站实施入侵,拿到权限之后转而控制服务器的其它网站。
5、sa注入点利用的入侵技术
这种是ASP+MSSQL网站的入侵方式,找到有SA权限的SQL注入点,然后用SQL数据库的XP_CMDSHELL的存储扩展来运行系统命令建立系统级别的帐号,然后通过3389登录进去,或者在一台肉鸡上用NC开设一个监听端口,然后用VBS一句话木马下载一个NC到服务器里面,接着运行NC的反向连接命令,让服务器反向连接到远程肉鸡上,这样远程肉鸡就有了一个远程的系统管理员级别的控制权限。
6、sa弱密码的入侵技术
这种方式是用扫描器探测SQL的帐号和密码信息的方式拿到SA的密码,然后用SQLEXEC之类的工具通过1433端口连接到远程服务器上,然后开设系统帐号,通过3389登录。然后这种入侵方式还可以配合WEBSHELL来使用,一般的ASP+MSSQL网站通常会把MSSQL的连接密码写到一个配置文件当中,这个可以用WEBSHELL来读取配置文件里面的SA密码,然后可以上传一个SQL木马的方式来获取系统的控制权限。
7、提交一句话木马的入侵方式
这种技术方式是对一些数据库地址被改成asp文件的网站来实施入侵的。黑客通过网站的留言版,论坛系统等功能提交一句话木马到数据库里面,然后在木马客户端里面输入这个网站的数据库地址并提交,就可以把一个ASP木马写入到网站里面,获取网站的WEBSHELL权限。
8、论坛漏洞利用入侵方式
这种技术是利用一些论坛存在的安全漏洞来上传ASP木马获得WEBSHELL权限,*典型的就是,动网6.0版本,7.0版本都存在安全漏洞,拿7.0版本来说,注册一个正常的用户,然后用抓包工具抓取用户提交一个ASP文件的COOKIE,然后用明小子之类的软件采取COOKIE欺骗的上传方式就可以上传一个ASP木马,获得网站的WEBSHELL

Web服务器父与子 Apache和Tomcat区别

熟悉三国的朋友都知道曹操,曹操有二十五个儿子,其中*得曹操宠爱的是曹丕、曹植、曹彰三个,曹丕性格阴冷,擅长政治;曹植才华横溢,放浪不羁;曹彰武艺高强,战功卓著。曹操一直希望这三个儿子当中选取自己的继承人,*后与曹操性格*为相近的曹丕脱颖而出。但是我们永远都不会否认曹植的才华和曹彰的武功。

Apache是世界使用排名*的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是*流行的Web服务器端软件之一。在Apache基金会里面Apache Server永远会被赋予*大的支持,毕竟大儿子*亲嘛,而Apache的开源服务器软件Tomcat同样值得关注,毕竟Tomcat是开源免费的产品,用户会给予*大的支持。但是经常在用Apache和Tomcat等这些服务器时,你总感觉还是不清楚他们之间有什么关系,在用Tomcat的时候总出现Apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总结了一下。(51CTO编辑推荐:Tomcat 7功能与应用指南)

解析一:

Apache支持静态页,Tomcat支持动态的,比如Servlet等,

一般使用Apache+Tomcat的话,Apache只是作为一个转发,对JSP的处理是由Tomcat来处理的。

Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。

Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

这两个有以下几点可以比较的:

◆两者都是Apache组织开发的

◆两者都有HTTP服务的功能

◆两者都是免费的

不同点:

Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)

Tomcat是Apache组织在符合Java EE的JSP、Servlet标准下开发的一个JSP服务器.

Runtime r=Runtime.getRuntime();
Process p=null;
try
{
p=r.exec(“notepad”);
}
catch(Exception ex)
{
System.out.println(“fffff”);
}

解析二:

Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页 如(ASP,PHP,CGI,JSP)等动态网页的就不行。

如果要在Apache环境下运行JSP的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat, 为什么还要JDK呢?因为JSP需要连接数据库的话 就要jdk来提供连接数据库的驱程,所以要运行JSP的Web服务器平台就需要Apache+Tomcat+JDK。

整合的好处是:

◆如果客户端请求的是静态页面,则只需要Apache服务器响应请求。

◆如果客户端请求动态页面,则是Tomcat服务器响应请求。

◆因为JSP是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。

C是一个结构化语言,如谭老爷子所说:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。

解析三:

Apache:侧重于HTTP Server

Tomcat:侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效 , 支持JSP,但对静态网页不太理想;

Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

换句话说,Apache是一辆卡车,上面可以装一些东西如Html等。但是不能装水,要装水必须要有容器(桶),而这个桶也可以不放在卡车上。

小结

总体来说,Tomcat也许永远不会成为Apache*重要的产品,但是谁也阻止不了Tomcat成为主流产品,Apache对于这个小儿子同样也会给相当大的关心

什么是Web?及web服务器原理

什么是Web?

Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。你可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性我们才把它称为Web。
World Wide Web,简称WWW,是英国人TimBerners-Lee 1989年在欧洲共同体的一个大型科研机构任职时发明的。通过WEB,互联网上的资源,可以在一个网页里比较直观的表示出来;而且资源之间,在网页上可以链来链去。在WEB1.0上做出巨大贡献的公司有Netscape,Yahoo和Google。 Netscape研发出*个大规模商用的浏览器,Yahoo的杨致远提出了互联网黄页, 而Google后来居上,推出了大受欢迎的搜索服务。
搜索*大的贡献是,把互联网上海量的信息,用机器初步分了个线索。但是,光知道网页里有哪些关键字,只解决了人浏览网页的需求。所以,Tim-Berners-Lee在提出WWW不久,即开始推崇语义网(Semantic Web)的概念。为什么呢?因为互联网上的内容,机器不能理解。他的理想是,网页制作时和架构数据库时,大家都用一种语义的方式,将网页里的内容表述成机器可以理解的格式。这样,整个互联网就成了一个结构严谨的知识库。从理想的角度,这是很诱人的,因为科学家和机器都喜欢有次序的东西。Berners-Lee关心的是,互联网上数据,及能否被其它的互联网应用所重复引用。举一个例子说明标准数据库的魅力。有个产品叫LiberyLink。装了它后,到Amazon上去浏览时,会自动告诉你某一本书在用户当地的图书馆能否找到,书号是多少等。因为一本书有统一的书号和书名,两个不同的互联网服务(Amazon 和当地图书馆数据库检索)可以公享数据,给用户提供全新服务。
但是,语义网提出之后,曲高和寡,响应的人不多。为什么?因为指望要网页的制作者提供这么多额外的信息去让机器理解一个网页,太难;简直就是人给机器打工。这违反了人们能偷懒就偷懒的本性。看看Google的成功就知道。 Google有个Page Rank技术,将网页之间互相链接的关系,用来做结果排序的一个依据,变相利用了网页制作人的判断力。想一想网页的制作者们,从数量来说,比纯浏览者的数量小得多。但Google就这一个革新,用上了网页的制作者的一部份力量,已将其推上了互联网的顶峰。
所以互联网下一步,是要让所有的人都忙起来,全民织网,然后用软件,机器的力量使这些信息更容易被需要的人找到和浏览。如果说WEB1.0是以数据为核心的网,那我觉得WEB2.0是以人为出发点的互联网。我们看一看*近的一些WEB2.0产品,就可以理解以上观点。
Blog: 用户织网,发表新知识,和其他用户内容链接,进而非常自然的组织这些内容。
RSS: 用户产生内容自动分发,定阅
Podcasting: 个人视频/声频的发布/定阅
SNS: blog+人和人之间的链接
WIKI: 用户共同建设一个大百科全书
从知识生产的角度看,WEB1.0的任务,是将以前没有放在网上的人类知识,通过商业的力量,放到网上去。WEB2.0的任务是,将这些知识,通过每个用户的浏览求知的力量,协作工作,把知识有机的组织起来,在这个过程中继续将知识深化,并产生新的思想火花;
从内容产生者角度看,WEB1.0是商业公司为主体把内容往网上搬,而WEB2.0则是以用户为主,以简便随意方式,通过blog/podcasting 方式把新内容往网上搬;
从交互性看,WEB1.0是网站对用户为主;WEB2.0是以P2P为主。
从技术上看,WEB客户端化,工作效率越来越高。比如像Ajax技术, GoogleMAP/Gmail里面用得出神入化。
我们看到,用户在互联网上的作用越来越大;他们贡献内容,传播内容,而且提供了这些内容之间的链接关系和浏览路径。在SNS里面,内容是以用户为核心来组织的。WEB2.0是以用户为核心的互联网。
那么,这种意义上的WEB2.0,和Tim Berners-Lee的语义网,有什么不同呢?语义网的出发点是数据的规整及可重复被机器调用,提出使用语义化的内容发布工具, 试图从规则和技术标准上使互联网更加有序。 Google等搜索引擎,在没有语义网的情况下,尽可能的给互联网提供了线索。 WEB2.0则是鼓励用户用*方便的办法发布内容(blog/podcasting),但是通过用户自发的(blog)或者系统自动以人为核心(SNS)的互相链接给这些看似凌乱的内容提供索引。因为这些线索是用户自己提供,更加符合用户使用感受。互联网逐渐从以关键字为核心的组织方式和阅读方式,到以互联网用户的个人portal(SNS)为线索,或者以个人的思想脉络(blog/rss)为线索的阅读方式。WEB2.0强调用户之间的协作。WIKI是个典型例子。从这个角度看,互联网是在变得更有序,每个用户都在贡献:要么贡献内容,要么贡献内容的次序.
对下一代互联网的看法,还会有很多的讨论。有一点可以肯定,WEB2.0是以人为核心线索的网。提供更方便用户织网的工具,鼓励提供内容。根据用户在互联网上留下的痕迹,组织浏览的线索,提供相关的服务,给用户创造新的价值,给整个互联网产生新的价值,才是WEB2.0商业之道。

Web的特点:

一、Web是图形化的和易于导航的(navigate)

Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。

二、Web与平台无关

无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、NCSA的Mosaic、Microsoft的Explorer等。

三、Web是分布式的

大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。

Web 是动态的

*后,由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的。经常更新的。这一点是由信息的提供者保证的。

Web动态的特性还表现在Web是交互的。

Web的交互性首先表现在它的超连接上,用户的浏览顺序和所到站点完全由他自己决定。另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。

Web服务器工作原理:

一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP 协议与客户端通信。这个客户端通常指的是 Web 浏览器。一个基于 Java 的 Web 服务器用到二个重要的类,java.net.Socket 与 java.net.ServerSocket ,并通过 HTTP 消息通信。因此,本文从讨论 HTTP 与这二个类开始,然后我将解释一个与本文相关的简单的 Web 应用。

The Hypertext Transfer Protocol(HTTP)

HTTP 是一种让 Web 服务器与浏览器(客户端)通过 Internet 发送与接收数据的协议。它是一个请求、响应协议–客户端发出一个请求,服务器响应这个请求。HTTP 运用可靠的 TCP 连接,通常用的 TCP 80 端口。它的*个版本是 HTTP/0.9 ,然后被 HTTP/1.0 取代。当前的版本是 HTTP/1.1 ,由RFC2616(.pdf) 定义。

本节主要对应 HTTP 1.1 ,足够使你充分理解由 Web 服务器程序发出的消息。如果你对更加详细的知识有兴趣,可以参考 RFC2616 。

在 HTTP 中,客户端总是通过建立一个连接与发送一个 HTTP 请求来发起一个事务。服务器不能主动去与客户端联系,也不能给客户端发出一个回叫连接。客户端与服务器端都可以提前中断一个连接。例如,当用一个浏览器下载一个文件时,你可以通过点击“停止”键来中断文件的下载,关闭与服务器的 HTTP 连接。

HTTP 请求

一个 HTTP 请求包含三个部分:

Method-URI-Protocol/Version方法-地址-版本

Request header请求头

Entity body请求实体

下面是一个 HTTP 请求实例:

POST /servlet/default.jsp HTTP/1.1

Accept: text/plain; text/html

Accept-Language: en-gb

Connection: Keep-Alive

Host: localhost

Referer: http://localhost/ch8/SendDetails.htm

User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)

Content-Length: 33

Content-Type: application/x-www-form-urlencoded

Accept-Encoding: gzip, deflate

LastName=Franks&FirstName=Michael

The Method-URI-Protocol/Version 在这个请求的*行:

POST /servlet/default.jsp HTTP/1.1

其中 POST 是请求的类型。每个客户端 HTTP 请求可以是 HTTP 规范中指定的许多请求类型中的一种。HTTP 1.1 支持七种类型的请求,它们是 GET,POST,HEAD,OPTIONS,PUT,DELETE,TRACE。其中 GET 与 POST 是 Internet 应用中经常用到的二种请求类型。

URI 完整地指定了 Internet 资源。一个 URI 通常被解析为相对服务器的根目录。这样,它应该总是以一个 ‘/’ 前缀开始。一个 URL 实际上是 URI 的一种类型。

Version 指的是该 HTTP 请求所用到的 HTTP 协议版本。

请求头包含了客户端环境与请求实体的一些有用的信息。例如它包含浏览器设定的语言、实体的长度等等。每条请求头用回车换行符(CRLF)分开。

一个非常重要的空行分开了请求头与实体,它标志着实体内容的开始。一些 Internet 开发书籍认为这个 CRLF 空行是 HTTP 请求的第四个部分。

在上面的 HTTP 请求中,实体只是简单以下的一行:

LastName=Franks&FirstName=Michael

在一个典型的 HTTP 请求中,请求实体内容会长得多。

HTTP 响应

与请求相似,HTTP 响应也由三部分组成:

Protocol-Status code-Description协议状态 描述代码

Response headers响应头

Entity body响应实体

以下是一个 HTTP 响应的实例:

HTTP/1.1 200 OK

Server: Microsoft-IIS/4.0

Date: Mon, 3 Jan 1998 13:13:33 GMT

Content-Type: text/html

Last-Modified: Mon, 11 Jan 1998 13:23:42 GMT

Content-Length: 112

<html>

<head>

<title>HTTP Response Example</title></head><body>

Welcome to Brainy Software

</body>

</html>

响应头的*行类似请求头的*行,告诉你所用的协议是 HTTP 1.1 ,请求成功(200=success),以及没有任何问题。

响应头类似请求头也包含了一些有用的信息。响应的实体响应本身的 HTML 内容。头与实体之间由回车换行的空行(CRLF)分开。

Socket 类

一个 socket 是一个网络连接的端点,它使得一个应用可以从网络读与写。在不同电脑上的二个应用软件能够通过收发字节流而彼此通信。要发一个信息到另一个应用程序,你需要知道它的IP地址,以及它的 socket 端口号。在 Java 中,一个 socket 用 java.net.Socket 来实现。

要创建一个 socket ,你可以用 Socket 类中几个构建方法中的一个。其中一个接受主机名与端口号作为参数:

new Socket(“yahoo.com”, 80);

一旦你成功地创建了一个 Socket 类的实例,你就可以用它去发送与接收字节流了。要发送字节流,你需要呼叫 Socket 类的 getOutputStream 方法来得到一个 java.io.OutputSteam 对象。要发送文本到远程的程序,你通常需要从返回的 OutputStream 创建一个 java.io.PrintWriter 对象。要从连接的另一端接收字节流,你需要呼叫 Socket 类的 getInputStream 方法,它返回一个 java.io.InputStream 对象。

以下代码创建一个可以与本地 HTTP 服务器通信的 socket (127.0.0.1 表示一个本地的主机),发送一个 HTTP 请求,并接收从服务器的响应。它还创建一个 StringBuffer 对象来接受响应,并打印到控制台。

Socket socket= new Socket(“127.0.0.1″, “8080”);

OutputStream os= socket.getOutputStream();

boolean autoflush = true;

PrintWriter out= new PrintWriter( socket.getOutputStream(), autoflush );

BufferedReader in = new BufferedReader(

new InputStreamReader( socket.getInputStream() ));

// send an HTTP request to the web server

out.println(“GET /index.jsp HTTP/1.1”);

out.println(“Host: localhost:8080”);

out.println(“Connection: Close”);

out.println();

// read the response

boolean loop= true;

StringBuffer sb = new StringBuffer(8096);

while (loop) {

if ( in.ready() ) {

int i=0;

while (i!=-1) {

i = in.read();

sb.append((char) i);

}

loop = false;

}

Thread.currentThread().sleep(50);

}

// display the response to the out console

System.out.println(sb.toString());

socket.close();

注意要从 web 服务器得到正确的响应,你必须要发送用 HTTP 协议编译了的 HTTP 请求。如果你看了上面的 HTTP 部分,你应该能够理解上面代码中的 HTTP 请求。

黑客首选–Web 2.0应用程序

日前,全球互联网内容安全领导者趋势科技(东京证交所代号:4704)发布了趋势科技实验室整理分析的“08 年病毒威胁摘要暨-09年病毒趋势预测”。根据这份研究报告指出,2008年亚洲地区的网络罪犯纷纷使用新媒介或针对旧媒介进行改良,用以谋取利益,并且以大规模的网页入侵、AUTORUN 恶意软件、社交诈骗手法与区域性病毒威胁为主要四大类型网络犯罪。进入2009年,值得注意的是:由于Web2.0社交网站的使用率大增,然而网站设计的安全弱点加上Web2.0用户的认知不足,因此,这类网站将成为 Web威胁繁衍的沃土。同时,2009年还需特别留意的还有浏览器与其他Web 应用程序,它们将成为黑客攻击的首要目标!

趋势科技的产品技术顾问徐学龙指出:“2008年,锁定特定用户群与热门网站为目标的病毒攻击手法相当猖獗。在5月份,包括娱乐、政治、购物网、社交网络等各种性质的网站达到病毒入侵的*高峰,全球许多网站被植入了恶意代码,借此感染不知情的网民。该趋势似乎正以令人无法想象的速度持续发展,相当令人忧心。”

 

据趋势科技2008年度数据安全分析报告指出:去年感染比例*高的是以利用USB移动储存装置作为传播媒介的AUTORUN恶意软件,在亚洲区即高达15%的感染比例,而在欧洲、中东及非洲 (EMEA) 地区感染数*高的恶意软件当中也出现其身影,甚至还成功渗透NASA与美国国防部网络。由于企业内部USB移动储存装置不易控管,造成窃取私密数据越来越方便,随之兴起了盗卖个人资料的地下经济。而Web威胁结合USB、Email整合而成的混合式攻击,也使得处理病毒问题日趋复杂,企业MIS人员很难找出造成问题的恶意软件档案,致使企业生产力降低。针对此现象,徐学龙进一步分析:“现今病毒感染途径范围越来越大,光靠单一防护措施已经越来越难以防止,若是没做好环节中的其中一项,将导致企业内部用户感染病毒的频率上升。”

另外报告中提到,在过去一年中黑客擅于利用网民所关心的事件,如四川地震、北京奥运等作为套诱饵制作恶意软件向网民连番攻击,而针对特定地区的独特背景所设计的不同攻击事件也依然层出不穷。举例来说,08年2 月份,中国在线游戏平台联众网站遭恶意软件作者利用安全弱点设下陷阱等待玩家上钩。另外,持续兴风作浪的网络钓鱼诈骗邮件,在08年则锁定Yahoo! Japan拍卖网站用户为攻击目标,使他们面临帐户信息遭窃的风险。

Web 2.0的安全风险及对策

在企业IT世界中,安全风险随处可遇,例如不够强壮的密码,意料之外的电子邮件附件,浏览网页时误点了恶意网址,还有不请自来的流氓软件。诸如防火墙、杀毒软件等安全工具基本可以处理这些安全威胁。不过,随着Web 2.0应用逐渐增多,企业IT部门又迎来了新的安全威胁,传统的安全工具在面对Web 2.0应用时往往显得心有余而力不足,那么企业IT部门应该如何应对Web 2.0应用所带来的安全威胁呢?

Web 2.0应用安全风险加剧

随着互联网和Web 2.0应用的日益普及,无论是个人用户,还是企业用户,都将面临着巨大的安全威胁。

安全公司Sophos曾经表示,每天有15000多个新网页将被感染,90%的Web威胁位于合法的黑客站点上,同时在全部搜索结果中有1%包含被感染的网页。

其中,对于多数IT经理或信息安全管理者来说,社交网站所带来的安全威胁日渐增大。黑客们已经把目光转向了众多知名社交网站。

在过去一年中,著名社交网站Facebook用户已经屡次遭到了多种蠕虫病毒的袭击。恶意分子首先获得某Facebook用户帐户,然后向其好友发送一条消息,告诉他们点击这个链接观看来自谷歌Picasa的相片或者是一段视频。缺乏防范意识的用户点击链接后,会被提示下载一个视频控件,但这实际上是一个传播木马病毒的恶意程序。

去年8月份,Facebook的1800多名用户的信息遭到秘密安装的木马程序窜改。

而微博客Twitter也同样成为网络罪犯散播恶意软件和商业广告讯息的工具。*近Twitter用户就遭遇到了钓鱼攻击,黑客首先用伪冒网站骗取用户的账号和密码,然后向被攻击用户的好友发送销售讯息或利用Twitter特有的缩址服务,欺骗网友进入第三方网站。

除了社交网站之外,其它很多Web 2.0应用同样深受用户喜欢,因为它们非常易用和实用,用户一般主动去安装这些工具,但是同时它们也将其固有的风险引入到了企业此前非常牢固的网络架构之内,让企业数据面临着安全风险。

Web 2.0应用安全防护的难点

对于IT经理来说,防护Web 2.0应用所带来的安全风险是一件非常麻烦的事情,因为这些安全威胁的特点已经与传统的安全威胁有了很大区别。

在过去,可以在网络入口处保护网络终端,但是现在,Web内容逐渐趋于动态化,用户需要持续不断的更新现有内容、共享应用程序,并通过多种渠道进行即时通讯。

很多Web 2.0应用都对算法进行了优化,以确保不被阻挡,另外,这些应用还可以将自己伪装成HTTP、FTP、SMTP和Telnet通信,来绕开防火墙和目前统一威胁管理系统的探测。

另外,企业IT人员无法采取一刀切的形式,禁止员工使用所有Web 2.0应用,这是不现实的。因为这样做只会阻扰员工,切断本应通过这些应用得到的具有潜在价值的商机。

如何应对Web 2.0应用安全风险

企业IT人员需要根据当今世界的Web2.0调整自己的安全策略,为社交网站、博客和所有其他类型的网站创建规则,同时借助于新的安全工具来检测和屏蔽恶意Web 2.0应用。

为了避免Web 2.0应用导致企业数据面临威胁,企业安全人员应对企业内部的核心数据进行分门别类,并通过高质量的加密保证非常有价值的数据不被拦截和非授权用户利用。

另外,加强企业内部员工的安全意识教育,通过不断强化员工的风险意识,实际操作培训等使员工自觉遵守相关的策略,帮助企业避免核心数据从内部泄露。

除了加强安全策略和提高员工安全意识外,市场也在呼唤新的技术来加强对Web 2.0应用的管理和防护。

美国FaceTime Communications公司*近推出了名为ACE的新探测分类技术,“ACE”是应用程序控制引擎(Application Control Engine)的首字母缩写。这种专利安全技术可以扫描网络,识别1400多个Web 2.0应用和5万多个社交网络插件。

扫描网络上的恶意应用程序对IT人士来说或许不是一件新鲜的事情,但是FaceTime的ACE技术关注于扫描Web 2.0应用,这就颇具新意了。

通过FaceTime的ACE,这1400多个Web应用可以被识别,同时更多的社交网络插件也可以被单独认出。不管这些应用使用什么端口、协议或逃避技术,ACE都可以发现并关闭它们。

另外,ACE软件开发工具可以让第三方解决方案提供商进行扩展开发,可以帮助它们的客户管理即时通讯、端对端文件共享、社交网络、Web 2.0、VOIP等方面的应用。

Ubuntu 搭建web服务器

1.打开ubuntu14.04

2.开始安装mysql5

sudo apt-get install mysql-server mysql-client

你将被要求提供一个mysql的root用户的密码,我们需要在红色区域设置密码。

new password for the mysql root user: repeat password for the mysql root user:

3.安装apache2

apache2的是作为一个ubuntu的软件包,因此我们可以直接用下面命令安装它:

sudo apt-get install apache2

现在,您的浏览器到http://localhost,你应该看到apache2的测试页:

如果顺利的话会出现:It worke!

4.安装php7.0

我们可以直接安装php7和apache的php7的模块,如下:

sudo apt-get install php7.0 libapache2-mod-php7.0

安装完需要重启

/etc/init.d/apache2 restart

重启时可能遇到的错误:AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1.等等。

解决方法:$ sudo vim /etc/apache2/apache2.conf

*后加入一句: ServerName localhost:80

5.默认网站的文件根目录是在/var/www/html/下中。现在我们将在该目录中创建一个小型php文件(info.php的)在浏览器中调用它。该文件将显示很多关于我们的php安装,如安装的php版本和有用的一些细节。

vi /var/www/html/info.php

在系统文件/var/www/下建立文件info.php,里面编写

<?php

phpinfo()

?>

文件权限问题:sudo chmod 777 /var/www/

6.用浏览器访问例如http://localhost/info.php会看到所有在php5中已经启用的模块,

树莓派搭建web服务器

安装nginx+sqlite+php5打造轻量级W服务器

简单介绍一下

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。如果建站只要求静态网页建议使用Nginx

 

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等

 

PHP是一种简单、轻便的服务器端脚本语言。

 

 

教程开始

*步安装Nginx

sudo apt-get install nginx

第二步安装php+sqlite

sudo apt-get install php5-fpm sqlite

第三步配置nginx

1打开文件

sudo  nano  /etc/nginx/sites-available/default

2修改文件

改之前这样
%title插图%num

改成这样

location / {

index index.php index.html index.htm ;

}

location ~ \.php$ {

fastcgi_pass      unix:/var/run/php5-fpm.sock;

fastcgi_index index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

location ~ \.sqlite$ {

deny all;

}

}

第四步大功告成,重启服务

sudo service nginx restart

一个轻量级的WEB服务器已经建设好了

开始测试一下我们的服务器

编写一个php网站

 

1.建立文件

sudo vi /var/www/html/index.php

2写一个简单的网页代码

<?PHP

echo “长春工业大学 计算机科学与工程学院”;

3.保存退出

4打开浏览器输入你的树莓派IP就可以看到你的网页啦

%title插图%num

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速