
最近准备搭建一个广告系统,于是找到之前用过的openads。
之前的名称叫phpads,后来出了2.0新版本就改名叫openads了吧,目前是2.4.2版本,之前关注的2.4.1版本对中文支持有问题,都是乱码,语言包有问题,本想2.4.2会修正了,不想却还是如此,汗啊。。。
我使用2.0版本好了,听说这个是比较完善和稳定的版本了,2.4的版本也许有未知的问题。
点击下载openads 2.0版本
不过,这个广告系统很优秀,我也推荐使用,一般自己开发的广告系统就一般了,相比之下。虽然里面有很多新的概念,可是弄清楚后就不是问题。
这里有一篇文章介绍:《适合中大型网站的广告统计系统OpenADS实战手册+中文帮助文档》
看完就会用了,很好的系统。。。
软件虽然免费,但是却发展势头很好,也想不到有500万美金投资呢~
《免费广告软件厂商获500万风投 欲挑战Google》
引用
CNET科技资讯网6月14日国际报道Openads获得500万美国的初期投资,支持在全球范围内与Google展开竞争。Openads是网站用来管理网络广告业务的免费软件提供商。
参与对Openads投资的有Index Ventures、First Round Capital、MangroveCapitalPartners、OReilly AlphaTech Ventures。
Openads是创建于1999年的一个草根性的开放源代码开发项目。它已经与使用20种语言、100多个国家的25000家网站签约。
IndexVentures一名合伙人克雷恩说,从某种意义上来说,这是Web上最隐秘的事情之一。我们看中Openads的原因就在于它引起了市场的革命,在全球有很高的普及率。
使用Openads的网站经使用相竞争产品的网站的总和还多,它在使用包括Drupal和WordPress等博客软件在内的开放源代码内容管理系统的用户中非常普及。
该基于社区的项目成为了一个由10名员工组成的初创企业,为客户提供服务、收集客户需要的功能、买卖广告技术。
克雷恩表示,出版商喜欢Openads的原因是,Openads是直观的、易于使用的、可靠的,它们能够搞清楚其工作原理,但最重要的是,它是免费的。Openads不向出版商收取软件费用,而是通过提供服务获得收入。
其一大优势是全球发布,只有30%客户来自美国,其余的则来自巴西、波兰、俄罗斯等市场。Openads的部分收入来自广告网络支付的中介费,其客户包括博客广告网络FederatedMedia、Sun、在线音乐站点Last.fm。
Openads的广告服务器技术在广告服务市场上的竞争对手是DoubleClick。但RadarResearch的分析师玛丽萨表示,它们位于市场的不同部分。
DoubleClick主要面向高端市场,Openads则为自己安装和运营广告的客户服务,依赖于多个广告网络签约广告客户。
玛丽萨认为,Openads将与Google的AdSense服务展开竞争。她说,它的主要竞争对手是AdSense。
由于GoogleAdSense是Openads客户中最普及的广告网络,这对于Openads而言是一项挑战。Openads其它广告网络包括CommissionJunction、Tradedoubler、ValueClick。
Openads的创始人斯科特在接受电话采访时说,我认为二者之间不是竞争关系,当出版商规模较小时,它们会下载Google的广告标签,下一步就会使用Openads。
作者:CNET科技资讯网
参与对Openads投资的有Index Ventures、First Round Capital、MangroveCapitalPartners、OReilly AlphaTech Ventures。
Openads是创建于1999年的一个草根性的开放源代码开发项目。它已经与使用20种语言、100多个国家的25000家网站签约。
IndexVentures一名合伙人克雷恩说,从某种意义上来说,这是Web上最隐秘的事情之一。我们看中Openads的原因就在于它引起了市场的革命,在全球有很高的普及率。
使用Openads的网站经使用相竞争产品的网站的总和还多,它在使用包括Drupal和WordPress等博客软件在内的开放源代码内容管理系统的用户中非常普及。
该基于社区的项目成为了一个由10名员工组成的初创企业,为客户提供服务、收集客户需要的功能、买卖广告技术。
克雷恩表示,出版商喜欢Openads的原因是,Openads是直观的、易于使用的、可靠的,它们能够搞清楚其工作原理,但最重要的是,它是免费的。Openads不向出版商收取软件费用,而是通过提供服务获得收入。
其一大优势是全球发布,只有30%客户来自美国,其余的则来自巴西、波兰、俄罗斯等市场。Openads的部分收入来自广告网络支付的中介费,其客户包括博客广告网络FederatedMedia、Sun、在线音乐站点Last.fm。
Openads的广告服务器技术在广告服务市场上的竞争对手是DoubleClick。但RadarResearch的分析师玛丽萨表示,它们位于市场的不同部分。
DoubleClick主要面向高端市场,Openads则为自己安装和运营广告的客户服务,依赖于多个广告网络签约广告客户。
玛丽萨认为,Openads将与Google的AdSense服务展开竞争。她说,它的主要竞争对手是AdSense。
由于GoogleAdSense是Openads客户中最普及的广告网络,这对于Openads而言是一项挑战。Openads其它广告网络包括CommissionJunction、Tradedoubler、ValueClick。
Openads的创始人斯科特在接受电话采访时说,我认为二者之间不是竞争关系,当出版商规模较小时,它们会下载Google的广告标签,下一步就会使用Openads。
作者:CNET科技资讯网
哈希函数是一个数学方程式,它可用文本(如电子邮件信息)来生成称为信息摘要的代码。著名的哈希函数如:MD4,MD5,SHS。
用于数字鉴别的哈希函数必须有特定的属性,使它在密码使用方面有足够的安全性。尤其是,下面的内容一定不能被发现:
用来哈希出特定值的文本。也就是说,如果你知道信息摘要,你应该不能解出信息的内容。
用来哈希出相同值的两个不同的信息。
如果能够发现用来哈希出特定值的某个信息,攻击者就能够用假信息替代经过签名的真信息。而有些人也能够声称自己实际上签名了哈希出相同值的一个不同的信息,以此虚假地否认这条信息。这样就破坏了数字签名的无法否认的属性。
如果能够发现用来哈希出相同值的两个不同的信息,攻击者就能够给一个信息签名,这个信息和另一个信息都可以哈希出相同值,但二者的意思却是完全不同。
MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。
详细的MD5研究参考这里
哈希算法
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。
哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。
用于数字鉴别的哈希函数必须有特定的属性,使它在密码使用方面有足够的安全性。尤其是,下面的内容一定不能被发现:
用来哈希出特定值的文本。也就是说,如果你知道信息摘要,你应该不能解出信息的内容。
用来哈希出相同值的两个不同的信息。
如果能够发现用来哈希出特定值的某个信息,攻击者就能够用假信息替代经过签名的真信息。而有些人也能够声称自己实际上签名了哈希出相同值的一个不同的信息,以此虚假地否认这条信息。这样就破坏了数字签名的无法否认的属性。
如果能够发现用来哈希出相同值的两个不同的信息,攻击者就能够给一个信息签名,这个信息和另一个信息都可以哈希出相同值,但二者的意思却是完全不同。
MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。
详细的MD5研究参考这里
哈希算法
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。
哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。
很多时候我们不能使用文件名称来判断文件的好坏,一般我们要保证下载的文件正常,那得做文件检查。
比较常用的就是文件的md5值,文件的md5值是1对1的关系,如果两个文件的md5值一样,那就是说明两个文件是一模一样的,即使后缀和名称都不同。
阿权给大家介绍一下正规网站的做法,比如 apache.org:

Unix Source: httpd-2.0.61.tar.gz [PGP] [MD5]
Unix Source: httpd-2.0.61.tar.bz2 [PGP] [MD5]
Win32 Source: httpd-2.0.61-win32-src.zip [PGP] [MD5]
点击链接[MD5]
ef5bee4bad359cea02146efd88d04be0 httpd-2.0.61.tar.gz
我们把对应的文件下载回来,其实下载过程也可能文件会被修改,一些病毒会修改文件,也可能在中途被人修改了,或者保存到本地后,文件被病毒修改也很正常,那怎么知道文件没被修改呢?
有了md5就好做了,可以找到md5的计算工具,比如 winmd5
http://www.blisstonia.com/software/WinMD5/
下载地址 WinMD5-2.07.zip
有中文版下载的,自己可以搜一下,下载的本地文件得到结果如下:

ef5bee4bad359cea02146efd88d04be0 httpd-2.0.61.tar.gz
这个表明文件是一模一样的,可以完全信赖的打开了。
阿权看的网站不多,但目前国内的下载站基本上比较少加上md5值的
一般别人传文件给你,你可以让对方md5一下,给一串文字你,你拿到文件再md5一下,就知道是否一样了,特别是exe文件哦!
比较常用的就是文件的md5值,文件的md5值是1对1的关系,如果两个文件的md5值一样,那就是说明两个文件是一模一样的,即使后缀和名称都不同。
阿权给大家介绍一下正规网站的做法,比如 apache.org:

Unix Source: httpd-2.0.61.tar.gz [PGP] [MD5]
Unix Source: httpd-2.0.61.tar.bz2 [PGP] [MD5]
Win32 Source: httpd-2.0.61-win32-src.zip [PGP] [MD5]
点击链接[MD5]
ef5bee4bad359cea02146efd88d04be0 httpd-2.0.61.tar.gz
我们把对应的文件下载回来,其实下载过程也可能文件会被修改,一些病毒会修改文件,也可能在中途被人修改了,或者保存到本地后,文件被病毒修改也很正常,那怎么知道文件没被修改呢?
有了md5就好做了,可以找到md5的计算工具,比如 winmd5
http://www.blisstonia.com/software/WinMD5/
下载地址 WinMD5-2.07.zip
有中文版下载的,自己可以搜一下,下载的本地文件得到结果如下:

ef5bee4bad359cea02146efd88d04be0 httpd-2.0.61.tar.gz
这个表明文件是一模一样的,可以完全信赖的打开了。
阿权看的网站不多,但目前国内的下载站基本上比较少加上md5值的
一般别人传文件给你,你可以让对方md5一下,给一串文字你,你拿到文件再md5一下,就知道是否一样了,特别是exe文件哦!
今天看了看greengnn的blog,发现两个图很好,转一下:

设计和数据分离

页面制作的蜘蛛网络
(用户,开发者,信息数据。。。)
从图上可以看到,做网页需要考虑的东东很多,好复杂,要做好真没这么容易,大家看图就明白了,懒得说。

设计和数据分离

页面制作的蜘蛛网络
(用户,开发者,信息数据。。。)
从图上可以看到,做网页需要考虑的东东很多,好复杂,要做好真没这么容易,大家看图就明白了,懒得说。
阿权这些天有研究过一下这个问题,其实伪造HTTP-REFERER是一些流氓软件或者是一些批量注册或灌注信息的工具必备的,因为这样才能跳过服务器的HTTP-REFERER检查。
当然,出于研究也好或者出于伪造也好,了解一下吧!
先看看伪造的方法,看看服务器端的手段,服务器可以轻松实现,但是一个直接的问题就是查 remote_addr的时候,就只有一个了,容易被禁止IP:
ASP:
PHP(前提是装了curl):
PHP(不装curl用sock)
VB.NET/C#.NET
一般的就是这样的了,但是服务器就不好实现伪造,只能制造不多的数据了,如果可以实现访问网页就可以伪造,那就可以实现了真正的伪造,实现自然IP分布。
不过,js好像不支持修改,网上有代码,可是测试过是不行:
上面是JS的代码,请求的b.php只要简单的把信息打印出来就知道了:
看的出来,修改并不成功,也就是没法做修改了,如果是出于安全,那也真的不给修改的,否则这个世界真的不安静了,特别像我这种可能做坏事的人,呵呵~~
当然,出于研究也好或者出于伪造也好,了解一下吧!
先看看伪造的方法,看看服务器端的手段,服务器可以轻松实现,但是一个直接的问题就是查 remote_addr的时候,就只有一个了,容易被禁止IP:
ASP:
dim http
set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以
Http.open "GET",url,false
Http.setRequestHeader "Referer","http://www.fromdomain.cn/"
Http.send()
set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以
Http.open "GET",url,false
Http.setRequestHeader "Referer","http://www.fromdomain.cn/"
Http.send()
PHP(前提是装了curl):
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.readdomain.cn/xxx.asp");
curl_setopt ($ch, CURLOPT_REFERER, "http://www.fromdomain.cn/");
curl_exec ($ch);
curl_close ($ch);
curl_setopt ($ch, CURLOPT_URL, "http://www.readdomain.cn/xxx.asp");
curl_setopt ($ch, CURLOPT_REFERER, "http://www.fromdomain.cn/");
curl_exec ($ch);
curl_close ($ch);
PHP(不装curl用sock)
$server = 'www.readdomain.cn';
$host = 'www.fromdomain.cn';
$target = '/xxx.php';
$referer = 'http://www.aslibra.com/'; // Referer
$port = 80;
$fp = fsockopen($server, $port, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
}
else
{
$out = "GET $target HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Cookie: SESSIONID=test\r\n";
$out .= "Referer: $referer\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp))
{
echo fgets($fp, 128);
}
fclose($fp);
}
$host = 'www.fromdomain.cn';
$target = '/xxx.php';
$referer = 'http://www.aslibra.com/'; // Referer
$port = 80;
$fp = fsockopen($server, $port, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
}
else
{
$out = "GET $target HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Cookie: SESSIONID=test\r\n";
$out .= "Referer: $referer\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp))
{
echo fgets($fp, 128);
}
fclose($fp);
}
VB.NET/C#.NET
Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()
或者
MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30();
oXMLHttp.open(....
oXMLHttp.setRequestHeader(...
oXMLHttp.send(..
或者
MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30();
oXMLHttp.open(....
oXMLHttp.setRequestHeader(...
oXMLHttp.send(..
引用
原理都是sock构造http头来senddata。其他语言什么的比如perl也可以,目前比较简单的防御伪造referer的方法是用验证码(Session)。现在有一些能防盗链软件的商业公司比如UUDOG,linkgate,VirtualWall什么的,都是开发的应用于IIS上面的dll。有的是采用cookies验证、线程控制,有的是能随机生成文件名然后做URL重写。有的方法能的确达到不错的效果.
一般的就是这样的了,但是服务器就不好实现伪造,只能制造不多的数据了,如果可以实现访问网页就可以伪造,那就可以实现了真正的伪造,实现自然IP分布。
不过,js好像不支持修改,网上有代码,可是测试过是不行:
<script language="javascript">
var oReq = new ActiveXObject("Microsoft.XMLHTTP");
oReq.Open("GET","b.php",false);
oReq.SetRequestHeader("Referer","");
oReq.Send();
document.write(oReq.responseText);
</script>
var oReq = new ActiveXObject("Microsoft.XMLHTTP");
oReq.Open("GET","b.php",false);
oReq.SetRequestHeader("Referer","");
oReq.Send();
document.write(oReq.responseText);
</script>
上面是JS的代码,请求的b.php只要简单的把信息打印出来就知道了:
<?
$out="";
foreach($_SERVER as $k=>$v){
$out.=$k." : ".$v."\n";
}
//可以写入文件做分析
file_put_contents(time().".txt",$out);
echo '<pre>';
echo $out;
?>
$out="";
foreach($_SERVER as $k=>$v){
$out.=$k." : ".$v."\n";
}
//可以写入文件做分析
file_put_contents(time().".txt",$out);
echo '<pre>';
echo $out;
?>
引用
[HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-shockwave-flash, */*
[HTTP_REFERER] => http://www.aslibra.com/test/referrer/a.php?1187692842
.....
[HTTP_REFERER] => http://www.aslibra.com/test/referrer/a.php?1187692842
.....
看的出来,修改并不成功,也就是没法做修改了,如果是出于安全,那也真的不给修改的,否则这个世界真的不安静了,特别像我这种可能做坏事的人,呵呵~~
转载的内容,不知道出处
百度收录减少的问题,好多站长都遇见过,最近好象严重点。最近我看到很多朋友说自己网站莫名其妙的百度收录减少,有的在还没有找到原因,没有合适的解决办法。百度收录减少也被有的朋友称呼为“百度拔毛”或者“百度割肉”如何解决百度收录减少,继续往下看。
(上面的罗嗦语言是塞给百度的,让百度知道这个文章是干什么的,快点来抓这个帖子.)
如果是新站,出现突然减少,其实也没什么可担心的,因为baidu和google不一样.google虽然限制宽松,但是稳定,对页面有一定的要求,更新内容是逐步增加.而百度,最喜欢做的是收录新站,只要是页面都收录,然后慢慢整理.
具体的原因可能性太多,大约有几十种,把常见的原因列出来.请看下面:
(1) 网站作弊.
原因: 比如堆积关键字,隐性文字等等.如果出现这样的情况,百度就算已经收录了你,别庆幸自己蒙混过关,因为在更新的时候也会慢慢剔除的.二级域名和博客交叉连接.
解决方法:这个不用说了吧,赶快把自己的页面好好修改一下吧!另外,二级域名不要过分乱用.博客交叉连接现在无用了,里面留一两个连接就可以,多了去掉.
百度收录减少的问题,好多站长都遇见过,最近好象严重点。最近我看到很多朋友说自己网站莫名其妙的百度收录减少,有的在还没有找到原因,没有合适的解决办法。百度收录减少也被有的朋友称呼为“百度拔毛”或者“百度割肉”如何解决百度收录减少,继续往下看。
(上面的罗嗦语言是塞给百度的,让百度知道这个文章是干什么的,快点来抓这个帖子.)
如果是新站,出现突然减少,其实也没什么可担心的,因为baidu和google不一样.google虽然限制宽松,但是稳定,对页面有一定的要求,更新内容是逐步增加.而百度,最喜欢做的是收录新站,只要是页面都收录,然后慢慢整理.
具体的原因可能性太多,大约有几十种,把常见的原因列出来.请看下面:
(1) 网站作弊.
原因: 比如堆积关键字,隐性文字等等.如果出现这样的情况,百度就算已经收录了你,别庆幸自己蒙混过关,因为在更新的时候也会慢慢剔除的.二级域名和博客交叉连接.
解决方法:这个不用说了吧,赶快把自己的页面好好修改一下吧!另外,二级域名不要过分乱用.博客交叉连接现在无用了,里面留一两个连接就可以,多了去掉.
上次网站改版,把mag频道的网址都换算到www下了,基本上都更改了,也浏览正常,可是想想,似乎不知道搜索引擎是否可以跟踪回到现在的页面。
今天看了篇文章,觉得还是可以对搜索引擎有指导的:
《301 Redirect 永久重定向的实现》 文/HighDiy
在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
今天看了篇文章,觉得还是可以对搜索引擎有指导的:
《301 Redirect 永久重定向的实现》 文/HighDiy
在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:






