Javascript读写Cookies

[不指定 2006/10/29 23:33 | by ipaddr ]
[code]
<script type="text/javascript">
// 写 cookie
function setCookie(sName, sValue, iTime)
{
 var date = new Date();
 date.setTime(date.getTime()+iTime*1000);
 document.cookie = escape(sName) + "=" + escape(sValue) + "; expires=" + date.toGMTString();
}

// 读 cookie
function getCookie(sName)
{
 var aCookie = document.cookie.split("; ");
 for (var i=0; i < aCookie.length; i++)
 {
   var aCrumb = aCookie[i].split("=");
   if (escape(sName) == aCrumb[0])
     return unescape(aCrumb[1]);
 }
 return null;
}

// 删 cookie
function delCookie(sName){
 var date = new Date();
 document.cookie = sName + "= ; expires=" + date.toGMTString();
}

// 测试函数
function trace(){
 alert(document.cookie);
}
</script>
[/code]

一段有趣的JS代码

[不指定 2006/10/19 13:43 | by ipaddr ]

用IE打开一个有图片的网站,最好是多一些小图片的网页,

再在地址栏输入以下内容,就可以看到图片在飞舞了:

[code]

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);

[/code]

查杀威金(维金)

[不指定 2006/10/11 18:39 | by ipaddr ]

今天到公司,屁股还没坐稳,就收到监控系统发来的通知,某台服务器中毒了,远程登录,使用ProceXP看了一下,发现是小病毒,直接Kill,再删除就OK了.

本以为很简单的解决,但发现病毒会一直出现,看来问题不是那么简单,通过ProceXP发现C:\wincodws\Logo1_.exe,Dll.dll,rundl132.exe(注意了,第一个是字母l,第二个是数字1)有问题,而且一直删除不成功.

其它病毒都由几个文件下载,看来这是病毒的主体的,每次删除,清掉注册表相关项,重启或重新Login后,病毒又回来了,实在没办法,

更要命的是,由于服务器共用一个DomainUser登录,该User都是其它服务器的Administrators,所以,几乎所有内部服务器都中毒,看来情况很严峻.

在网上找了金山的专杀工具,什么也没查到,而且,这病毒会干扰一些程序的执行,也会把其它杀毒软件关掉,看来是厉害角色.把服务器网关换了,不能上网,病毒还是会出来,真是奇怪了.

经过一上午的处理,终于找到办法对付,这病毒不能直接删除,方法如下:
首先,把所有能手工杀的病毒都杀掉,一般有Windows下面的0Sy.exe之类的,还有windows/command program files/microsoft/等等,这些可以直接杀.
a.首先查看Explorer.exe有没有调用C:\windows\Dll.dll,这个可以用ProceXP查看,如果有调用Dll.dll的话,使用ProceXP Kill Explorer.exe,再Kill rundl132.exe,kill Logo1_.exe,
b.使用Cygwin运行
cd c:
cd windows
rm -f rundl132.exe
touch rundl132.exe
chmod 000 rundl132.exe

rm -f Dll.dll
touch Dll.dll
chmod 000 Dll.dll

rm -f Logo1_.exe
touch Logo1_.exe
chmod 000 Logo1_.exe

c.删除注册表中所有包含rundl132.exe的项(注意不是两个l)

d.删除系统中所有_desktop.ini

e.重启,再使用杀毒软件杀一次毒.

上面的命令都是基于Cygwin,后来在网上发现有别人写的Dos命令,加强了一下:

[code]

@echo off

if exist %windir%\rundl132.exe echo Found Virus!

pause

taskkill /f /im rundl132.exe
taskkill /f /im logo_1.exe
taskkill /f /im explorer.exe
taskkill /f /im logo1_.exe
taskkill /f /im Ravmon.exe
taskkill /f /im Eghost.exe
taskkill /f /im Mailmon.exe  
taskkill /f /im KAVPFW.EXE
taskkill /f /im IPARMOR.EXE
taskkill /f /im Ravmond.exe
taskkill /f /im 0sy.exe
taskkill /f /im 1sy.exe
taskkill /f /im 2sy.exe
taskkill /f /im 3sy.exe
taskkill /f /im 4sy.exe
taskkill /f /im 5sy.exe
taskkill /f /im 6sy.exe
taskkill /f /im 7sy.exe
taskkill /f /im 8sy.exe
taskkill /f /im 9sy.exe
taskkill /f /im 10sy.exe
taskkill /f /im 11sy.exe
taskkill /f /im 12sy.exe
taskkill /f /im 13sy.exe
taskkill /f /im 15sy.exe
taskkill /f /im 25sy.exe


del /f /s /q /a s h %systemdrive%\rundl132.exe
del /f /s /q /a s h %systemdrive%\Dll.dll
del /f /s /q /a s h %systemdrive%\vdll.dll
del /f /s /q /a s h %systemdrive%\logo_1.exe
del /f /s /q /a s h %systemdrive%\Logo1_.exe
del /f /s /q /a s h %systemdrive%\Logo1.exe
del /f /s /q /a s h %systemdrive%\?sy.exe

del /f /s /q /a s h c:\_desktop.ini> cleanvirus.log
del /f /s /q /a s h d:\_desktop.ini>>cleanvirus.log
del /f /s /q /a s h e:\_desktop.ini>>cleanvirus.log
del /f /s /q /a s h f:\_desktop.ini>>cleanvirus.log



IF EXIST %WINDIR%\logo1_.exe attrib %WINDIR%\logo1_.exe -r -h
IF EXIST %WINDIR%\logo1_.exe del %WINDIR%\logo1_.exe
IF EXIST %WINDIR%\logo_1.exe attrib %WINDIR%\logo_1.exe -r -h
IF EXIST %WINDIR%\logo_1.exe del %WINDIR%\logo_1.exe
IF EXIST %WINDIR%\logo1.exe attrib %WINDIR%\logo1.exe -r -h
IF EXIST %WINDIR%\logo1.exe del %WINDIR%\logo1.exe

echo > %WINDIR%\Logo1_.exe
echo > %WINDIR%\logo_1.exe
echo > %WINDIR%\logo1.exe
echo > %WINDIR%\rundl132.exe
echo > %WINDIR%\0Sy.exe
echo > %WINDIR%\vDll.dll
echo > %WINDIR%\1.com
echo > %WINDIR%\exerouter.exe
echo > %WINDIR%\EXP10RER.com
echo > %WINDIR%\finders.com
echo > %WINDIR%\Shell.sys
echo > %WINDIR%\smss.exe
echo > %WINDIR%\kill.exe
echo > %WINDIR%\sws.dll
echo > %WINDIR%\sws32.dll
attrib %WINDIR%\Logo1_.exe +s +r +h
attrib %WINDIR%\Logo_1.exe +s +r +h
attrib %WINDIR%\Logo1.exe +s +r +h
attrib %WINDIR%\rundl132.exe +s +r +h
attrib %WINDIR%\0Sy.exe +s +r +h
attrib %WINDIR%\vDll.dll +s +r +h
attrib %WINDIR%\1.com +s +r +h
attrib %WINDIR%\exerouter.exe +s +r +h
attrib %WINDIR%\EXP10RER.com +s +r +h
attrib %WINDIR%\finders.com +s +r +h
attrib %WINDIR%\Shell.sys +s +r +h
attrib %WINDIR%\smss.exe +s +r +h
attrib %WINDIR%\kill.exe +s +r +h
attrib %WINDIR%\sws.dll +s +r +h
attrib %WINDIR%\sws32.dll +s +r +h

net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share admin$ /del
net share ipc$ /del  

taskkill /f /im cmd.exe
shutdown -r
[/code]
LoadRunner中查找一个列表存到数组

LoadRunner可以通过函数web_reg_save_param查找一个网页的内容,指定左右边界,把中间的值取出来,供程序调用,但通常每次只取一个值,如果网页上有一个列表,需要将整个列表读入数组的话,可以在这个函数中带上ORD=All参数,告诉LR取出所有取值,返回在一个数组当中,用法如下:

web_reg_save_param("IPADDR",
    "LB=XXXX",
    "RB=YYYY",
    "NotFound=warning",
    "Search=Body",
    "ORD=All",
    LAST);

LR将在IPADDR_count里存放数组长度,每个元素可以IPADDR_n的格式来引用,下面举例说明.

//函数,传入tProductId为要查找的ID值,tIDArray为输出的数组,tArrayLength为该数组长度.
searchProductRelease(int tProductId,int * tIdArray,int tArrayLength)
{
  char strProductId[20];
  char strTmp[50],strTmp2[50];
  int tALen=0;
  int tmpi=0;

  //将传入的C变量tProductId转换为LR变量strProductId
  itoa(tProductId,strProductId,10);
  lr_save_string(strProductId,"strProductId");
  
  lr_start_transaction("searchProductRelease");

  //查找与ProductID有关的列表,并将结果放在LR的数组tIDArray当中
  web_reg_save_param("tIdArray",
    "LB=XXXXXX",
    "RB=YYYYYY",
    "NotFound=warning",
    "Search=Body",
    "ORD=All",
    LAST);

  //以下语句为LR录制.
  web_url("IPADDR",
    "URL=http://elizabeth/maintain/product/productVersion.do?method=doShowList&productId={strProductId}&isPopUp=false",
    "TargetFrame=_self",
    "Resource=0",
    "RecContentType=text/html",
    "Referer=http://elizabeth/maintain/product/product.do?method=doShowInfo&productId={strProductId}&beforeMethod=null",
    "Snapshot=t61.inf",
    "Mode=HTML",
    EXTRARES,
    LAST);

  lr_end_transaction("searchProductRelease", LR_AUTO);


  strcpy(strTmp,lr_eval_string("{tIdArray_count}"));
  tALen=atoi(strTmp);
  
  if (tALen>tArrayLength)
  {
    tALen=tArrayLength;
  }
  
  
  for (tmpi=0;tmpi<tALen;tmpi++)
  {
    sprintf(strTmp2,"{tIdArray_%d}",tmpi+1);
    strcpy(strTmp,lr_eval_string(strTmp2));
    tIdArray[tmpi]=atoi(strTmp);
  }
  
  while (tmpi<tArrayLength)
  {
    tIdArray[tmpi]=0;
    tmpi++;
  }

  return tALen;
}
可以如下调用
int productReleaseNum;
int releaseArray[20];
productReleaseNum=searchProductRelease(productId,releaseArray,20);
productReleaseNum里面存储ID数量.

Linux命令:comm

[不指定 2006/10/08 15:13 | by ipaddr ]
功能说明:比较两个已排过序的文件。
语  法:comm [-123][--help][--version][第1个文件][第2个文件]
补充说明:这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。若给予的文件名称为"-",则comm指令会从标准输入设备读取数据。

参  数:
-1   不显示只在第1个文件里出现过的列。
-2   不显示只在第2个文件里出现过的列。
-3   不显示只在第1和第2个文件里出现过的列。
--help   在线帮助。
--version   显示版本信息。
mod_cband是一个通过Apache 2模块来解决限制用户和虚拟主机带宽问题的应用,当前版本可以调整虚拟主机和用户带宽限额,最高下载速度(like in mod_bandwidth),每秒访问请求速度和最高并发访问ip连接数(like in mod_limitipconn)。
"我告诉主机服务提供商使用mod_cband,想要限制他们用户数据传输,像“每月10 Gb流量”这样。但已有了mod_curb模块,可以限制流量,但无法工作在虚拟主机和Apache 2下,所以我写了自己的模块完全适合于Apache 2 API同时支持每用户和每虚拟主机带宽限制。"(此段翻译自官方网站)

FreeBSD ports path and pkg-descr info
/usr/ports/www/mod_cband
mod_cband is an Apache 2 module provided to solve the problem of limiting virtualhosts bandwidth usage. When the configured virtualhost’s transfer limit is exceeded, mod_cband will redirect all further requests to a location specified in the configuration file.

好了,说道这里我想这个模块的精髓之处在于完美的支持Apache 2并实现了原有两个模块的全部功能(2in1)且支持每用户和每虚拟主机带宽限制。这在进行web平台应用与整合之时给我们提供了又一易用的方法。准备动手吧!文中实例与系统平台均基于freebsd6.1平台。

提示:
在进行实际操作之前请确保你的ports tree已经同步到当前版本。具体方法请参考http://cnsnap.cn.freebsd.org/doc ... ok/ports-using.html,关于freebsd和apache2的安装本文不予介绍,同时假定你已经安装并配置了所需环境。

安装:
#cd /usr/ports/www/mod_cband
#make install clean
安装结束后末尾输出:
chmod 755 /usr/local/libexec/apache2/mod_cband.so
[activating module `cband’ in /usr/local/etc/apache2/httpd.conf]
===> Registering installation for mod_cband-0.9.7.3
此时cband_module已经自动添加到你的httpd.conf文件中并开启了。
LoadModule cband_module libexec/apache2/mod_cband.so
至此mod_cband安装已经完成,让我们继续后面的操作。之前说mod_cband易用是相对的,主要是看你如何配置让他为你所用。一些基础配置还是很容易完成,但是要发挥它的强大和灵活配置还是要好好看看documentation,充分理解良好驾驭。不啰嗦了,下面看看如何进行基本配置和使用并观测实际效果。以我这个blog为实例,看看基本情况:

DocumentRoot “/other/blog/wordpress”
ServerName blog.citygrit.cn

allow from all
Options +Indexes

# 100MB virtualhost bandwidth limit
CBandLimit 100M
# Maximal 1024kbps speed for this virtualhost
# Maximal 10 requests per second for this virtualhost
# Maximal 30 open connections for this virtualhost
CBandSpeed 1024 10 30
# Maximal 10kB/s speed, 3 requests/s and 2 open connections for any remote client
CBandRemoteSpeed 10kb/s 3 2
# a period of time after which the scoreboard will be cleared (4 weeks)
CBandPeriod 4W
#Then you can access the status page with a URL like:http://server_name/cband-status

SetHandler cband-status

#Then you can access the status page with a URL like:http://server_name/cband-status-me

SetHandler cband-status-me


为了便于理解将上面内容里与mod_cband相关设置予以说明,(约定“#”为注释标记)。
# 100MB virtualhost bandwidth limit
CBandLimit 100M
限制虚拟主机总访问带宽为100Mb。
# Maximal 1024kbps speed for this virtualhost
# Maximal 10 requests per second for this virtualhost
# Maximal 30 open connections for this virtualhost
CBandSpeed 1024 10 30
限制此虚拟主机最高访问速度1024kbps
限制此虚拟主机每秒最高接受请求数10个
限制此虚拟主机最高并发连接30个
# Maximal 10kB/s speed, 3 requests/s and 2 open connections for any remote client
CBandRemoteSpeed 10kb/s 3 2
限制来自远端访问速度10kB每秒,3个请求每秒,2个连接。
# a period of time after which the scoreboard will be cleared (4 weeks)
CBandPeriod 4W
设定多久对所记录的全局访问带宽进行重设(清零)。
4W=4 weeks 4周(一个月)
#Then you can access the status page with a URL like:http://server_name/cband-status

SetHandler cband-status

开启了mod_cband的实时监测功能,可以通过http://server_name/cband-status进行直观的观测。(全局监测)
#Then you can access the status page with a URL like:http://server_name/cband-status-me

SetHandler cband-status-me

开启了mod_cband的实时监测功能,可以通过http://server_name/cband-status-me进行直观的观测。(单一监测)

通过上文简单介绍了mod_cband在freebsd平台下与apache2进行整合及基本配置,整个过程属于理论结合实际操作并得以真实应用,保证其可实施性但不承诺由于其他原因造成的配置与使用问题。如果希望详细了解mod_cband的更加强大的功能和高级配置请访问其网站。本文中部分实例参考了官方网站和Manage Apache Download Speed And Traffic Limits With mod_cband这里的文章。

通告:本文系作者原创,并未抄袭互联网及其他已发表的类似文章。文中所引用
系官方网站实例及说明。欢迎转载但请注明出处已示对作者劳动成果的尊重,谢谢。如果您发现文中的表述有误请联络我,我会及时做出修正。(但不包括由于系统平台及应用软件发生变化而产生的问题)

FCKeditor的安装(PHP)

[不指定 2006/10/02 00:46 | by ipaddr ]
1.下载新最版的FCKEditor,解压
2.删除/FCKeditor/目录下除fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml,fckeditor.php五个文件以外的所有文件
删除目录/editor/_source,_testcases(基本上,所有_开头的文件夹或文件都是可选的),
删除/editor/filemanager/browser/default/connectors/下除PHP目录的所有目录
删除/editor/filemanager/upload/下的除PHP目录的所有目录
删除/editor/lang/下的除了 en.js, zh.js, zh-cn.js三个文件的所有文件

3.
打开/FCKeditor/fckconfig.js
修改
var FCKConfig.DefaultLanguage = 'zh-cn' ;
var _FileBrowserLanguage  = 'php' ;
var _QuickUploadLanguage  = 'php' ;
要开启文件上传的话,还需要配置FCKeditor\editor\filemanager\upload\php\config.php以及\FCKeditor\editor\filemanager\browser\default\connectors\php\config.php
(上传中文名文件会乱码)

4.调用方法
将FCKeditor放在网站根目录
在PHP文件里面,包含/FCKeditor/fckeditor.php文件
//包含fckeditor类
include("../FCKeditor/fckeditor.php") ;
//设置编辑器路径
$sBasePath = "/FCKeditor/";
//创建一个Fckeditor,表单的名称为ipaddr
$oFCKeditor = new FCKeditor('ipaddr') ;
$oFCKeditor->BasePath  = $sBasePath ;
//设置表单初始值
$oFCKeditor->Value  = 'This is some <strong>sample text</strong>' ;
$oFCKeditor->Create() ;

//还可设置
$oFCKeditor->Width
$oFCKeditor->Height
$oFCKeditor->ToolbarSet

5.定制
a.定制调用路径
直接将FCKeditor目录改为editor/,并且在调用的时候指定根路径为/editor/。
b.定制风格
可以通过修改editor\skins目录下的Skin来定制风格,主要是修改CSS。
c.定制toolbar

在fckconfig.js中,默认定制好了Default,Basic两种toolbar,你也可以根据格式定制自己的toolbar,并且在php中使用$oFCKeditor->ToolbarSet=toolbarname调用

d.定制字体
将fckconfig.js里面的FCKConfig.FontNames字体列表前面加上:
宋体;黑体;隶书;楷体_GB2312;
(注意保存为UTF8格式)

e.关闭文件上传
i.将fckconfig.js里面的FCKConfig.LinkBrowser,FCKConfig.ImageBrowser,FCKConfig.FlashBrowser,FCKConfig.LinkUpload,FCKConfig.ImageUpload,FCKConfig.FlashUpload设置为false.
ii.直接将filemanager里面的php文件删降
iii.定制toolbars
最重要的一点,你需要更改filemanager下面的php文件,只有认证的用户才可以访问。

f.注意事项:请用Editplus之类的编辑器编辑配置文件,注意保存格式为utf8.

其它:
asp的安装方法基本类似,将所有php换成asp就行了。
JSP平台下,需要把filemanager下的都删除,再用Servlet替换,需要修改fckconfig.js里面的几个配置(LinkBrowserURL,ImageBrowserURL,FlashBrowserURL,LinkUploadURL ,FlashUploadURL ,ImageUploadURL )。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]