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