今天一朋友发给我一个伪原创软件,里面大约有9000条同义词的词库库,用的access作的数据库。双击打开access文件居然输入密码,郁闷。。。问朋友要了个access数据库密码查看器,靠,太强大了,一定位到access文件就直接读取出密码了。看来access的密码机制确实令人担忧,纯属鸡肋。下图是查看密码软件的效果。
PS:远离微软,珍惜数据。
今天一朋友发给我一个伪原创软件,里面大约有9000条同义词的词库库,用的access作的数据库。双击打开access文件居然输入密码,郁闷。。。问朋友要了个access数据库密码查看器,靠,太强大了,一定位到access文件就直接读取出密码了。看来access的密码机制确实令人担忧,纯属鸡肋。下图是查看密码软件的效果。
PS:远离微软,珍惜数据。
实现的方法实际上是来自至一个asp的关键词sql数据库查询,将其“翻译”成php,简单地实现多关键词sql数据库查询,废话不多讲,直接上菜:
<?php
$keywords="测试 关键词";//从表单获取的关键词。
$keyword =explode(' ',$keywords);//将关键词以空格分割到数组中。
$temp_sql='';
for($i=0;$i<count($keyword);$i++)
{
if($i==count($keyword)-1)
{
$temp_sql=$temp_sql." content LIKE '%".$keyword[0]."%' and ";//根据sql语句后续需要填写“and”
}
else
{
$temp_sql.=$temp_sql." content LIKE '%".$keyword[0]."%' or ";
}
}
$sql="SELECT * FROM table where ".$temp_sql." order by content";//组合查询语句
echo $sql;//输出SQL语句,用于调试、查询
?>
一直想解决EMlog飞信插件发表留言后漫长等待返回发送结果的困扰,今天用fsockopen()函数解决了这个问题。原理很简单,就是php模拟post表单,且去掉返回结果。这样速度就快多了。核心代码如下:
<?php
$msg='测试飞信用';
$host =$_SERVER['HTTP_HOST'];
$post=rawurlencode('msg').'='.rawurlencode($msg);
$len = strlen($post);
$file ="/fetion/api.php";
$fp = @fsockopen( $host , 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)\n";
}
else
{
$out = "POST $file HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: Close\r\n";
$out .= "Content-Length: $len\r\n";
$out .="\r\n";
$out .= $post."\r\n";
fwrite($fp, $out);
fclose($fp);
}
?>
php分割字符串函数可以用str_split()或explode(),但是此两个函数有时候不能达到自己想要的结果,str_split()分割中文字符的时候出现乱码;explode()分割时需要指定分割符,不能按长度分割,下面这个函数支持中英文混合字符分割,感觉挺好用的。。。
function cut_str($string, $length) {
if(strlen($string) <= $length) {
return $string;
}
$strcut = '';
for($i = 0; $i < $length; $i++) {
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
}
return $strcut;
}
总所周知EMlog验证码一旦加载了却无法再次只刷新验证码,这样很不爽,偶尔看不清楚却导致必须将整个页面刷新一次才能获取新的验证码,这样严重影响用户的心情,一个小小的验证码确实能看出EMlog在人性化的一方面还需要改进。实际上一两行代码就可以使博客系统更加人性化,我们何乐而不为呢?废话不多说,下面结合EMlog讲讲如何点击验证码实现自动刷新验证码的功能。
核心代码是在img标签中加入:onclick="this.src=this.src+'?'",他的作用就是当点击图片的时候加载验证码。为了使在鼠标点击验证码图片时有手型链接效果,可以在img标签中加入style=\"cursor : pointer;\",同时还可以加入alt和title属性。
就EMlog而言,需要修改的验证码有登陆验证、评论验证及碎语验证(手机版除外),所涉及到的文件有:
/lib/function.login.php
/index.php
/t/index.php
只要将上述三文件中验证码img标签中加入:style=\"cursor : pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\",即可实现点击验证码刷新功能。本博客修改后效果如下:
关于银行收取点钞费这一话题最近网络上谈得比较火,其实收一点点钞费用的是不可厚非的,你存钱人家数了钱自然应该收一点,何况法律都支持说可以收取相应的费用,且有各银行自行决定费用的高低。但是呢,作为消费者,我想说是否我们取钱的时候也应该收点点钞费用呢?都说法律面前人人平等,存钱时法律支持银行收取点钞费,自然也应该支持个人取钱时也收点点钞费用,而且是不是也有个人来决定点钞费用的多少呢?我们存钱,点好钱后银行可以不放心,所以亲自在数一数;而我们取钱的时候我们个人也不放心,所以也需要亲自数一数,当真也应该收一点点钞费,且标准自己决定。