Board logo

标题: [分享]为FeedOnFeeds增加安全验证 [打印本页]

作者: cnangel    时间: 2005-9-15 15:55     标题: [分享]为FeedOnFeeds增加安全验证

FeedOnFeeds就是好,有了它,我每天都能有新鲜的牛奶喝啦!对不起,串了! 我每天都能有新鲜的Feeds看啦!可是您也许注意到了,我虽然前几天就介绍了它,但是一直没敢公开我的FeedOnFeeds,因为真怕哪位哥哥随便给我删点什么,那么我辛苦积累的Feed清单就可惜了;可是另一方面,FeedOnFeeds提供了OPML,也就是说,通过它你也可以分享我的Feed清单,如此有创意的功能不公开也真是浪费。再三权衡,找到了一个好方法,通过PHP的HTTP验证(HTTP authentication)和COOKIE验证(这样密码只要输入对一次然后就记住了)来对它进行一些限制:)
auth.php代码如下:
  1. <?php
  2. function authPass() {
  3.     &#36;my_user="name";
  4.     &#36;my_passwd="password";
  5.    
  6.     if (isset(&#36;_COOKIE["FOF_USER"]) && isset(&#36;_COOKIE["FOF_PW"])) {
  7.         &#36;user=&#36;_COOKIE["FOF_USER"];
  8.         &#36;passwd=&#36;_COOKIE["FOF_PW"];
  9.     } else if(isset(&#36;_SERVER[';PHP_AUTH_USER';])) {
  10.         &#36;user=&#36;_SERVER[';PHP_AUTH_USER';];
  11.         &#36;passwd=&#36;_SERVER[';PHP_AUTH_PW';];
  12.     } else {
  13.         header(';WWW-Authenticate: Basic realm="FeedsOnFeed Authentication"';);
  14.         header(';HTTP/1.0 401 Unauthorized';);
  15.         echo ';Only the host can do this action';;
  16.         exit;
  17.     }
  18.     if (&#36;user==&#36;my_user && &#36;passwd==&#36;my_passwd) {
  19.         if (!isset(&#36;_COOKIE["FOF_USER"])) {
  20.             setcookie("FOF_USER", &#36;my_user, time()+2678400); //for a month
  21.             setcookie("FOF_PW", &#36;my_passwd, time()+2678400);
  22.         }
  23.         return true;
  24.     } else {
  25.         header(';WWW-Authenticate: Basic realm="FeedsOnFeed Authentication"';);
  26.         header(';HTTP/1.0 401 Unauthorized';);
  27.         echo ';Only the host can do this action';;
  28.         exit;
  29.     }
  30. }
  31. authPass();
  32. ?>
复制代码
好啦,把这个文件扔到FeedOnFeeds的目录里面去,更改上面预设的&#36;my_user和&#36;my_passwd为你的,然后在需要进行安全限制的页面,比如add.php, delete.php, dump.php等等最前面加上:
include_once("auth.php");
就万事大吉啦!Enjoy!





欢迎光临 星星博客 (http://bbs.huhoo.net/) Powered by Discuz! 7.0.0