◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
弄服务器笔记
这两天弄服务器大家都知道的.[很累加很忙] 这篇文章能说明我此时的心情哈,说到整服务器.还是去年的时候开始的,去年一个黑客站挂到服务器上,那时候刚刚自己接触到服务器.整坏了很多次.还好idc人好.整改了 一个Q过去.给我装系统.那时候最牛B的一天最少装了10几次系统.....阿门.原来的博客上也有一些关于服务器设置安全方面的技术,后来数据丢失.可悲可悲...
记录第一条:关于本身windows2003系统限制上传200K大小修改
Windows2003系统下,上传较大的文件时,出现“Request 对象 错误 'ASP 0104 : 80004005'”错误。
更改win2003的IIS 6.0对asp的上传文件大小为200k限制,aspx的上传程序没有影响。在IIS6.0中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。IIS 6 出于安全考虑, 默认最大请求是200K(也即最大提交数据限额为200KByte,204800Byte)。(在 IIS 6.0 之前的版本中无此限制)
解决方案
办法一:
第一步:修改IIS设置,允许直接编辑配置数据库。先打开,Internet信息服务,如下图:
第二步:先在服务里关闭iis admin service服务,找到windows\system32\inesrv\下的metabase.xml, 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,如把它修改为51200000(50M)。
然后重启iis admin service服务。
办法二:
新建一个文本文件,内容如下:
'----------------------------------------------------
set providerObj=GetObject(winmgmts:/root/MicrosoftIISv2)
set vdirObj=providerObj.get(IIsWebVirtualDirSetting='W3SVC/1/ROOT')
WScript.Echo Before: & vdirObj.AspMaxRequestEntityAllowed
vdirObj.AspMaxRequestEntityAllowed=51200000
vdirObj.Put_()
WScript.Echo Now: & vdirObj.AspMaxRequestEntityAllowed
'----------------------------------------------------
然后保存为.vbs文件,如:vf.vbs
然后在命令行模式下,执行 cscript 文件路径及文件名,如:
cscript d:\vf.vbs
这样ASP上传大小就更改为了上面设置的:51200000字节 (50兆)
二,IIS日志清理
去年的时候由于忘记清理IIS日志导致整个C盘挂了.下面SEO海军收集了分别为CMD版,VBS版,JS版,WSH版四个版本的清理IIS日志代码
IIS日志文件的格式是:ex年月日.log 比如:ex071116.log
IIS日志文件存储位置:默认情况下是在:%windir%\system32\LogFiles ,如果您使用的是专业的IIS管理软件,里面一般会让你设置相应日志目录
IIS日志清理CMD版:跟据当前时间计算出前N天的日期,比如今天是:2007-11-16,前60天的日期就是2007-9-16(程序可以自动识别30天或31天或润月),然后再处理成20070916这样的格式,然后再组合成ex070916.log这样的IIS日志文件格式,这样一来我们就得到的要清理的日志文件名然后,我们再使用del /s /f d:\iislog\ex070916.log 来清除日志所在文件夹目录及子目录下的所有这个文件名的文件了,从而清除志,但这个仅仅是清除一天的日志,所以我们还得把这个批处理加到计划任务里,让它每天定时执行,这样一来,所有的计算机的日志问题我们就可以不用管了。
IIS日志清理VBS版:VBS版理论是没有iis版快,因为他还要借助脚本驱动,而不像cmd版直接使用dos系统的批处理功能快(猜的),VBS毕竟是高级语言,处理日期的能力用一句话就实现了,而CMD版得写半页。IIS日志清理VBS版的实现用VBS遍历IIS日志所在目录下的所有文件,及文件夹,然后取文件名组合成日期型的,然后当前日期-这个日期,看看是不是超过了设定的天数,超过的话delete,这种思路有个好处就是一次可以清除N天前的所有记录,而不是只是一天的,他可以你CMD版日志清理一样,把这个脚本写到计划任务里,天天运行,也可以过一段时间手动运行一次。这个代码明显比IIS日志清理CMD版少了。
IIS日志清理JS版:这个版其实与IIS日志清理VBS版差不了多少,思路都是一样的,只是使用的脚本语言不一样而已,还有就是调用时的两个参数里的每一个参数:目录,这个目录得写成:D:\\iislog,以前都用vbs还当主要脚本,这次主要是要学C#了,听说这两种语言都差不多,正好也练习下,也没花多少时间。
IIS日志清理WSH版:WSH版其实是最简单的,因为他的集成化程度很高,操作过程是这样的:使用vbs或js生成要处理的文件的文件名,然后再使用WScript.Shell执行cmd命令来处理,利用了IIS日志清理CMD版及IIS日志清理VBS版的优点,这个也是一次只能处理一天的日志,当然您也可以把它改成处理多天的日志。正因为WSH集成化程度高,可以执行很多操作,所以黑客们都很喜欢这个,用的最多的也就是WScript.Shell,所以一般安全意识比较高的服务器提供商都会把这个组件给禁用掉,这样一来,这个最好用的功能就变成了最不能使用的,通用性最差的了。
好了 全部都搞完了.我们就去控制面板里面增加一个计划吧...呵
rizhi.vbs
'IIS日志清理VBS版代码(DelIISLog.vbs) Made by www.seohn.cn
'调用方法:DelIISLog "IIS日志所在路径",保留多少天的IIS日志
'遍历IIS日志文件夹下的所有文件及子文件夹下的文件
Function DelIISLog(IISLogPath,KeepDays)
on error resume next
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFso.GetFolder(IISLogPath)
Set oSubFolders = oFolder.SubFolders '得到该目录下所有的文件夹的集合
Set oFiles = oFolder.Files '得到该目录下所有的文件的集合
'第一步处理当前目录下的所有文件
For Each oFile In oFiles '遍历所有文件
if right(oFile.name,3)="log" then
oDate=cdate("20" & mid(oFile.name,3,2) & "-" & mid(oFile.name,5,2) & "-" & mid(oFile.name,7,2))
if date-oDate > KeepDays then oFile.delete '判断是不是要处理的IIS日志文件,如果是的话直接删除
end if
Next
'第二步处理当前目录下的所有目录,进行递归调用
For Each oSubFolder In oSubFolders
DelIISLog oSubFolder.Path,KeepDays '递归
Next
End Function
DelIISLog "D:\IISLogTest",20 '遍历
上面的代码复制另存为rizhi.vbs 修改DelIISLog "D:\IISLogTest",20 '遍历 中的目录为自己的
rizhi.js
function dellogfile(beforedays) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var dir = fso.GetFolder("C:\\WINDOWS\\system32\\LogFiles"); //改成你的 IIS 日志目录
for (var fc = new Enumerator(dir.SubFolders); !fc.atEnd(); fc.moveNext()) {
if (fc.item().name.substr(0,5) == "W3SVC") {
for (var logfiles = new Enumerator(fc.item().Files); !logfiles.atEnd(); logfiles.moveNext()) {
var fileName = logfiles.item().name;
var year = "20" + fileName.substr(2, 2);
var mouth = fileName.substr(4, 2);
var day = fileName.substr(6, 2);
var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);
if (days >= beforedays) logfiles.item().Delete();
}
}
}
}
dellogfile(3);
这段JS代码复制存为rizhi.js.这段修改代码是上面的目录.
还有些版本代码访问http://blog.csdn.net/yongfa365/archive/2007/12/02/1912426.aspx 自己查看
文章来源:http://www.seohn.cn/seo/nongfuwuqi-biji/
转载请著名版权:湖南SEO 浏览更多SEO知识,关注seo随笔 seo案例 HTML地图
版权所有。转载时必须以链接形式注明作者海军和原始出处及本声明。
