什么是邮件转发?*
Oz=!EG|N ` yM9XjEl> 设置好一个email服务器以后,该服务器将具有一个或若干个域名,这时email服务器将监听25号端口,等待远程的发送邮件的请求。网络上其他的mail服务器或者请求发送邮件的MUA(Mail User Agent,如outlook express、foxmail等等)会连接email服务器的25号端口,请求发送邮件,SMTP会话过程一般是从远程标识自己的身份开始,过程如下:
TEbE-h0)] HELO remote.system.domainname
hNF, sA 250 qmailserver.domain
nwJc%0 MAIL FROM:
user@somewherer.net ?Lr:> 250 OK
l YjPrA]TC RCPT TO:
user1@elsewhere.net {HP.HK 邮件的接收者
user1@elsewhere.net中的域名并不一定是本地域名,这时候本地系统可能有两种回答,接受它:
G+NTn\ 250 OK
7K/t>QrBtU 或者拒绝接受它:
92^Dn`g 553 sorry,.that domain isnot in my domain list of allowed recphosts
?9z1'6 第一种情况下,本地email服务器是允许relay的,它接收并同意传递一个目的地址不属于本地域名的邮件;而第二种情况则不接收非本地邮件。
{InW%qSn_ email一般都有一个配置文件,其决定了是否接受一个邮件。只有当一个RCPT TO命令中的接收者地址的域名存在于该文件中时,才接受该邮件,否则就拒绝该邮件。若该文件不存在,则所有的邮件将被接受。当一个邮件服务器不管邮件接收者和邮件接收者是谁,而是对所有邮件进行转发(relay),则该邮件服务器就被称为开放转发(open relay)的。当email服务器没有设置转发限制时,其是开放转发的。
@Z@S;RWSU #/WjKr n w)}@svv" 什么是最安全的加密技术?*
V&d?4i4/Q -M-y*P) 你上面给定的所有算法不是都和加密技术有关的,下面我对每一个分别进行简要的介绍:
f/i[?
gw 数据加密标准(DES)是一个古老的对称密钥加密算法,目前已经不再使用。它不是一个很安全的算法。
\>e>J\t: 三重DES(Triple-DES)仍然是很安全的,但是也只是在别无他法的情况下的一个较好的选择。显然高级
9|>5;Ej 加密标准(AES)是一个更好的加密算法,NIST用AES代替Triple-DES作为他们的标准(下面有更详细的讨论)。其他较好的算法包括另外两个AES的变种算法Twofish和Serpent-也称为CAST-128,它是效率和安全的完美结合。这几个算法不仅比DES更安全,而且也比DES的速度更快。为什么要使用一些又慢又不安全的算法呢
T{Yk/Z/}? SHA1是一个哈希函数,而不是一个加密函数。作为一个哈希函数,SHA1还是相当优秀的,但是还需要几年的发展才能用作加密算法。如果你正在设计一个新系统,那么谨记你可能会在若干年后用SHA1代替目前的算法。我再重复一遍:只是可能。
*35o$P46 RSA是一个公开密钥加密算法。RSA的密钥长度一般为2048-4096位。如果你现在的系统使用的是1024位的公开密钥,也没有必要担心,但是你可以加长密钥长度来达到更好的加密效果。
wtfM}MW\ 高级加密标准(AES)是一个用来代替数据加密标准(DES)的算法。目前使用的一般为128,196和256位密钥,这三种密钥都是相当安全的。而且美国政府也是这样认为的。他们批准将128位密钥的AES算法用于一般数据加密,196位和256位密钥的AES算法用于秘密数据和绝密数据的加密。
rmdG"s DESX是DES的一个改进版本。DESX的原理是利用一个随机的二进制数与加密前的数据以及解密后的数据异或。虽然也有人批评这种算法,但是与DES相比DESX确实更安全,不过DESX在许多情况下并不适用。我曾经处理过一个硬件支持DES的系统,由于有些环节不能容忍三重DES的慢速,我们在这些地方使用了DESX来代替DES。然而,这是一个非常特殊的情况。如果你需要使用DESX,理由显而易见(可能和我不得不使用DESX的原因类似)。但我建议你使用AES或者上面我提到的一些算法。
DE$T1pFV RC4是一种常用于SSL连接的数据流加密算法。它已经出现很多年了,而且有很多已知和可能的缺陷,因此在一些新的工程中不要使用它。如果你目前正在使用它而且可以轻易的卸载它,那么情况也不是很坏。不过,我怀疑如果你现在正在使用它,你不可能轻易的卸载它。如果不能将它从系统中轻易的卸载,那么你还是考虑今后怎样升级它,但是不要感到很惊慌。我不会拒绝在一个使用RC4算法来加密SSL连接的网站购买东西,但是如果我现在要新建一个系统,那么我会考虑使用其他的算法,例如:AES。
N||s# 我认为你谈到下面两个算法MD5-RSA和SHA1-DSA的时候,你知道他们是用于数字签名的。但是不要使用MD5,因为它有很多缺陷。很多年前大家就知道MD5中存在漏洞,不过直到今年夏天才破解出来。如果你想了解关于MD5的详细信息,那你可以看看我以前写的一篇文章。你可以将SHA1和RSA或DSA配合在一起使用。目前DSA的密钥位数高达1024位,这个密钥位数已经足够长了,因此不需要担心安全问题。然而,如果NIST实现了更长的密钥位数当然更好。
[Ib17#74 X.509证书是一个数据结构,常用于规定比特和字节的顺序,它本身不是一个密码系统。它通常包含一个RSA密钥,也可能包含一个DSA密钥。但是X.509证书内部以及证书本身并不是加密技术。
u6/;=]0
0Pg@%>yb~ :LD+B1$y 什么叫做泛解析*
^bXCYkx wKy4Ic+RV 比如说
www.aaa.com 指向10.10.1.1
H&0S ftp.aaa.com指向10.10.2.2
4$4n9`odE 如果这时候客户访问的是aaa.com或者error.aaa.com (这里error代表一个根本不存在的域名或者说是A记录)
.u;'eVH)a} 这个时候,如果dns服务器不支持泛解析的话,那么就无法访问aaa公司的网站,提示错误。
a0cW=0l= 如果支持泛解析的话,如果你访问的域名在dns服务器中没有A记录,比如fadsfdsafsdaf.aaa.com,它一样会跳转到
www.aaa.com,出现公司的网站,而不用担心一些人输错网址后到不了公司的网站而损失了潜在的客户。
iBqIV 泛域名解析域名域名解析的区别
#s-li b 泛域名解析是:*.域名解析到同一IP。
*
Vymb 域名解析是:子域名.域名解析到同一IP。
QtfLJ5vi 注意:只有客户的空间是独立IP的时候泛域名才有意义。而域名解析则没有此要求。
PML84*K - =
8\'AU N<|-b0#Z6 什么是WSH*
mC EWp [&{NgUgu" WSH是“Windows Scripting Host”的缩略形式,其通用的中文译名为“Windows 脚本宿主”。对于这个较为抽象的名词,我们可以先作这样一个笼统的理解:它是内嵌于 Windows 操作系统中的脚本语言工作环境。
21\?FQrz P)hawH= Windows Scripting Host 这个概念最早出现于 Windows 98 操作系统。大家一定还记得 MS-Dos 下的批处理命令,它曾有效地简化了我们的工作、带给我们方便,这一点就有点类似于如今大行其道的脚本语言。但就算我们把批处理命令看成是一种脚本语言,那它也是 98 版之前的 Windows 操作系统所唯一支持的“脚本语言”。而此后随着各种真正的脚本语言不断出现,批处理命令显然就有点力不从心了。面临这一危机,微软在研发 Windows 98 时,为了实现多类脚本文件在 Windows 界面或 Dos 命令提示符下的直接运行,就在系统内植入了一个基于 32 位 Windows 平台、并独立于语言的脚本运行环境,并将其命名为“Windows Scripting Host”。WSH 架构于 ActiveX 之上,通过充当 ActiveX 的脚本引擎控制器,WSH 为 Windows 用户充分利用威力强大的脚本指令语言扫清了障碍。
x_x|D|@wM 9q"G g? 再具体一点描述:你自己编写了一个脚本文件,如后缀为 .vbs 或 .js 的文件,然后在 Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是 Windows Scripting Host,程序执行文件名为 Wscript.exe (若是在命令行下,则为 Cscript.exe)。
h>"Z=y cP8@'l@! WSH 诞生后,在 Windows 系列产品中很快得到了推广。除 Windows 98 外,微软在 Internet Information Server 4.0、Windows Me、Windows 2000 Server,以及 Windows 2000 Professional 等产品中都嵌入了 WSH。现在,早期的 Windows 95 也可单独安装相应版本的 WSH。
Ky'\t7p u 1)!]zV GoG_4:^#h Windows中域和组是什么关系?有什么区别?*
L9 H.DNA By EvilOctal[EST]
_2Fa.gi Xd9<`gu 相对包含关系,在每一个域中,管理员又可以把里面的用户划分为不同的组。
W7
9.,# 工作组是一群计算机的集合,它仅仅是一个逻辑的集合,各自计算机还是各自管理的,你要访问其中的计算机,还是要到被访问计算机上来实现用户验证的。而域不同,域是一个有安全边界的计算机集合,在同一个域中的计算机彼此之间已经建立了信任关系,在域内访问其他机器,不再需要被访问机器的许可了。为什么是这样的呢?因为在加入域的时候,管理员为每个计算机在域中(可和用户不在同一域中)建立了一个计算机帐户,这个帐户和用户帐户一样,也有密码保护的。可是大家要问了,我没有输入过什么密码啊,是的,你确实没有输入,计算机帐户的密码不叫密码,在域中称为登录票据,它是由2000的DC(域控制器)上的KDC服务来颁发和维护的。为了保证系统的安全,KDC服务每30天会自动更新一次所有的票据,并把上次使用的票据记录下来。周而复始。也就是说服务器始终保存着2个票据,其有效时间是60天,60天后,上次使用的票据就会被系统丢弃。如果你的GHOST备份里带有的票据是60天的,那么该计算机将不能被KDC服务验证,从而系统将禁止在这个计算机上的任何访问请求(包括登录),解决的方法呢,简单的方法使将计算机脱离域并重新加入,KDC服务会重新设置这一票据。或者使用2000资源包里的NETDOM命令强制重新设置安全票据。因此在有域的环境下,请尽量不要在计算机加入域后使用GHOST备份系统分区,如果作了,请在恢复时确认备份是在60天内作的,如果超出,就最好联系你的系统管理员,你可以需要管理员重新设置计算机安全票据,否则你将不能登录域环境。
'Ie!%k ^ M,N(be- qAuq2pHA+d 什么是RSS*
w7_2JS )"y]_} RSS(即RDF Site Summary)是一种描述互联网内容的格式。目前RSS应用的最广泛的还是在Blog也就是网志中。
+F6R@@rWr A*3R@G*h 我们经常会在一些Blog上看到这样的图标,或者是诸如“syndicate this site (XML)”之类的文字,这些图标和文字所对应的超级链接通常也就是该Blog的RSS输出文件的URL。一般情况下这些RSS文件是以xml或者使rdf为后缀的,但是也有一些网站采用动态地址来定位RSS文件。
8hvh
xp L&~>(/*7U Movable Type构建的Blog,其RSS文件一般是index.rdf或者是index.xml, 假如一个使用MT构建的Blog其地址为
http://www.yoursite.com 那么这个Blog的RSS文件地址默认的就是
http://www.yoursite.com/index.xml 或者
http://www.yoursite.com/index.rdf 。
ps=QVX)YP iTeFy-Ct 在国内大多数Blog用户都使用Blog托管网站提供的免费Blog服务,例如:blogdriver,blogbus等。这些托管网站提供的RSS文件输出地址一般都是动态地址,用户需要在Blog页面上寻找图标来找到RSS文件的地址,对于blogdriver的用户来讲,你们的RSS文件链接就在目录栏的最下方,RSS1.0, RSS2.0, ATOM等字样处。目前本网站支持RSS1.0和2.0格式。使用其他Blog工具或者服务商的用户可以去阅读相应的帮助文件或者是服务网站的帮助页面,应该可以找到相应的说明。
7R".$ p C,3yu,' shtml是什么?*
u9dL-Nr` 0 mR SSI有什么用
2)>Ty4* 之所以要扯到ssi,是因爲shtml--server-parsed HTML 的首字母缩略词。包含有嵌入式_blank>服务器方包含命令的 HTML 文本。在被传送给浏览器之前,_blank>服务器会对 SHTML 文档进行完全地读取、分析以及修改。
LY(h>` shtml和asp 有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,
AmT*{Fz8 _blank>服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来比如:你可以在SHTML文件中用SSI指令引用其他的html文件(#include ),_blank>服务器传送给客户端的文件,是已经解释的SHTML不会有SSI指令。它实现了HTML所没有的功能,就是可以实现了_blank>动态
tqK}KL 的SHTML,可以说是HTML的一种进化吧。像新浪的_blank>新闻系统就是这样的,_blank>新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。
2&U<Wiu\} Px"K5c* 目前,主要有以下几种用用途:
}ilX
2s?> 1、显示_blank>服务器端环境变量<#echo>
:a9$f8*b 2、将文本内容直接插入到文档中<#include>
%b`B.A 3、显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
v7-
d+P= 4、直接执行_blank>服务器上的各种程序<#exec>(如CGI或其他可执行程序)
Q$DF3[NC 5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
k3t2{=&'&x 高级SSI<XSSI>可设置变量使用if条件语句。
c9;oB|8| gc{5/U9H* 使用SSI
DX#F]8bWl SSI是为WEB_blank>服务器提供的一套命令,这些命令只要直接嵌入到HTML文档的注释内容之中即可。如:
`z3"zso <!--#include file="info.htm"-->
BcD%`vGJ 就是一条SSI指令,其作用是将"info.htm"的内容拷贝到当前的页面中,当访问者来浏览时,会看到其它HTML文档一样显示info.htm其中的内容。
*g/@-6 其它的SSI指令使用形式基本同刚才的举例差不多,可见SSI使用只是插入一点_blank>代码而已,使用形式非常简单。
2E}^'o 当然,如果WEB_blank>服务器不支持SSI,它就会只不过将它当作注释信息,直接跳过其中的内容;浏览器也会忽略这些信息。
VEg/x z4c @5(HRd 如何在我的WEB_blank>服务器上配置SSI功能?
`pd1'5Hm 在一些WEB_blank>服务器上(如IIS 4.0/SAMBAR 4.2),包含 #include 指令的文件必须使用已被映射到 SSI 解释程序的扩展名;否则,Web _blank>服务器将不会处理该SSI指令;默认情况下,扩展名 .stm、.shtm 和 .shtml 被映射到解释程序(Ssinc.dll)。
;V3d"@R, Apache则是根据你的设置情况而定,修改srm.conf如:
YiPp#0T[Gx AddType text/x-server-parsed-html .shtml 将只对.shtml扩展名的文件解析SSI指令
J*O$)K%Hx AddType text/x-server-parsed-html .html将对所有HTML文档解析SSI指令
1Du9N[2'P Netscape WEB_blank>服务器直接使用Administration Server(管理_blank>服务器)可打开SSI功能。
G6x 2!Ny Website使用Server Admin程序中的Mapping标签,扩展名添加内容类型为:wwwserver/html-ssi
sOW,hpNW Cern_blank>服务器不支持SSI,可用SSI诈骗法,到
http://sw.cse.bris.ac.uk/WebTools/fakessi.html 上下载一个PERL脚本,即可使你的CERN_blank>服务器使用一些SSI指令。(不支持exec指令。)
>@U
lhJtW Z'z~40Bda SSI指令基本格式
S~ 3| SSI指令基本格式:
)Z2t=&Nw 程序_blank>代码:
JSm3ZP|GqJ k~b8=$ <!-– 指令名称="指令参数">
f7QX"p&P <!-– 指令名称="指令参数">
f^X\ N/ 如
MOW {g\{\ 程序_blank>代码:
wH[}@ w Sf0[^"7 <!--#include file="info.htm"-->
:7Q,
`W9 <!--#include file="info.htm"-->
{01wW1 说明:
Nm/Fc 1.<!-- -->是HTML语法中表示注释,当WEB_blank>服务器不支持SSI时,会忽略这些信息。
?YbZVoD)J 2.#include 为SSI指令之一。
EaGS}=qY5 3.file 为include的参数, info.htm为参数值,在本指令中指将要包含的文档名。
Y^f12% 1
+'HKT} 注意:
bwAL: & A<Pf.Us 1.<!--与#号间无空格,只有SSI指令与参数间存在空格。
mF !=H% 2.上面的标点="",一个也不能少。
CiGN?1| 3.SSI指令是大小写敏感的,因此参数必须是小写才会起作用。
F
/:2+ >#\&%0OZw SSI指令使用详解
TID0x/j"K5 3 eFBe2 #echo 示范
; i><03 作用:
vXM``| 将环境变量插入到页面中。
3M&75OE 语法:
L&nGjC+Lr 程序_blank>代码:
2=l!b/m oxPb; % <!--#echo var="变量名称"-->
W=~H_L?/ <!--#echo var="变量名称"-->
8W_X&X?Q |!{BjOAD'
I"=XM
\;A\ vQ[ D0&{iZ( J;wA 本文档名称:程序_blank>代码:
(8(z42 Ma3Hn <!--#echo var="DOCUMENT_blank>_NAME"-->
dj76YK <!--#echo var="DOCUMENT_blank>_NAME"-->
6gfdXVN5 现在时间:程序_blank>代码:
+<ey
Iw Up$vBE8i] <!--#echo var="DATE_blank>_LOCAL"-->
k]`3if5> <!--#echo var="DATE_blank>_LOCAL"-->
<!vAqqljt 你的IP地址是程序_blank>代码:
Uq6..<# n[/|M <!--#echo var="REMOTE_blank>_ADDR"-->
*7I=vro <!--#echo var="REMOTE_blank>_ADDR"-->
s"|N-A=cS !Jj=H()} #include 示范
YtrMJ" 作用:
z
{J1pH_X 将文本文件的内容直接插入到文档页面中。
a;Y9wn 语法:
$*H>n!& 程序_blank>代码:
LHWh-h(s u[oYVpe)IG <!--#include file="文件名称"-->
&7X0 ;< <!--#include virtual="文件名称"-->
>:`Y]6z <!--#include file="文件名称"-->
ca_8S8lv <!--#include virtual="文件名称"-->
UmU=3et<Wj file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的nav_blank>_head.htm文档,则为file="nav_blank>_head.htm"。
jL)aU> kN virtual 文件名是 Web 站点上的虚拟目录的完整路径。如表示相对于_blank>服务器文档根目录下hoyi目录下的nav_blank>_head.htm文件;则为file="/hoyi/nav_blank>_head.htm"
5\tYs=>b< 参数:
yXw xq(32 file 指定包含文件相对于本文档的位置
U<NpDjc" virtual 指定相对于_blank>服务器文档根目录的位置
g5to0 注意:
\?fl%r2 1、文件名称必须带有扩展名。
*R>I%?]V3 2、被包含的文件可以具有任何文件扩展名,我觉得直接使用htm扩展名最方便,微软公司推荐使用 .inc 扩展名(这就看你的爱好了)。
*#;rp~ 示例:
T+2I:W% 程序_blank>代码:
~4*9w3t
q6{ %vd <!--#include file="nav_blank>_head.htm"-->将头文件插入到当前页面
p$@=N6)I.k <!--#include file="nav_blank>_foot.htm"-->将尾文件插入到当前页面
H2RNekck <!--#include file="nav_blank>_head.htm"-->将头文件插入到当前页面
/kVy#sT| <!--#include file="nav_blank>_foot.htm"-->将尾文件插入到当前页面
?lU]J] y\@;s?QL #flastmod 和#fsize 示范
ASaG }h 作用: #flastmod 文件最近更新日期
!U/:!e`N #fsize 文件的长度
(.!q~G 语法:
N1(}3O 程序_blank>代码:
SJ7>*Sa(u$ Z-H Kdv!d <!--#flastmod file="文件名称"-->
u6jJf@!ws <!--#fsize file="文件名称"-->
(s{%XB:K <!--#flastmod file="文件名称"-->
.?S#DS ) <!--#fsize file="文件名称"-->
sa+:c{ 参数:
AJ:@c7:eS file 指定包含文件相对于本文档的位置 如 info.txt 表示当前目录下的的info.txt文档
$b$r,mc virtual 指定相对于_blank>服务器文档根目录的位置 如 /hoyi/info.txt 表示
yZFvpw|g 注意:
6M$.gX
G. 文件名称必须带有扩展名。
Qq]UEI `Go 示例:
bTHa;* ` 程序_blank>代码:
^ I,1kl~i xyz-T1ib <!--#flastmod file="news.htm"-->
5
|C;]pq <!--#flastmod file="news.htm"-->
n]coqJ 将当前目录下news.htm文件的最近更新日期插插入到当前页面
%_SE$>v^ 程序_blank>代码:
?-\K Vha }.zgVLL <!--#fsize file="news.htm"-->
o<P%|>qX <!--#fsize file="news.htm"-->
L +. K}w 将当前目录下news.htm的文件大小入到当前页面
K{>O.5 ^"+cJ) #exec 示范
#8|;Q`Or: 作用:
rT}d<cSf 将某一外部程序的输出插入到页面中。可插入CGI程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi。
o`j%$K4?5 语法:
(DKpJCx 程序_blank>代码:
J(/
eR,ak oRWsi/Zf <!--#exec cmd="文件名称"-->
2#W%-- <!--#exec cgi="文件名称"-->
)vGRfFjw_ <!--#exec cmd="文件名称"-->
Qn%*kU0X <!--#exec cgi="文件名称"-->
5I(`
s#O 参数:
;N"XW=F4e cmd 常规应用程序
S%xGXmZ cgi CGI脚本程序
[TO:-8$. 示例:
3y 3
U`Mo 程序_blank>代码:
~T4=Id Z/x<U.B <!--#exec cmd="cat /etc/passwd"-->将会显示_blank>密码文件
JG}U,{7( <!--#exec cmd="dir /b"-->将会显示当前目录下文件列表
xI:;%5{LN <!--#exec cgi="/cgi-bin/gb.cgi"-->将会执行CGI程序gb.cgi。
<JH0 & <!--#exec cgi="/cgi-bin/access_blank>_log.cgi"-->将会执行CGI程序access_blank>_log.cgi。
"l +Jx|h\ <!--#exec cmd="cat /etc/passwd"-->将会显示_blank>密码文件
A7b7IM [ <!--#exec cmd="dir /b"-->将会显示当前目录下文件列表
)cs
y^-qw <!--#exec cgi="/cgi-bin/gb.cgi"-->将会执行CGI程序gb.cgi。
QTn-n)AE <!--#exec cgi="/cgi-bin/access_blank>_log.cgi"-->将会执行CGI程序access_blank>_log.cgi。
~Nc]`95 注意:
"hlIGJ?_= 从上面的示例可以看出,这个指令相当方便,但是也存在安全问题。
oHi&Z$#!n 禁止方法:
bR&hI9`%F .Apache,将access.conf中的"Options Includes ExecCGI"这行_blank>代码删除;
c@nl;u)n .在IIS中,要禁用 #exec 命令,可修改 SSIExecDisable 元_blank>数据库;
:f/ p5c ^ACp_RM 'pm2C6AC @fE^w^K7 cF vGpZ Gh{k ~/B ki+9Ln; #config
5&9(d_#H 作用: 指定返回给客户端浏览器的错误信息、日期和文件大小的格式。
{8B\-LUR 语法:
u5CT7_#) 程序_blank>代码:
&