分类 PHP 下的文章

高端黑帽SEO之判断蜘蛛进行301跳转

<?php
if (preg_match("#(Baiduspider|Googlebot|Sogou web spider|YodaoBot|Sosospider|bingbot|Yahoo! Slurp|MSNBot)#si", $_SERVER['HTTP_USER_AGENT'])) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: https://www.2dan.cc/");
    exit;
}
?>

用户访问网站完全正常,搜索引擎蜘蛛 User Agent 就301跳转。这个不得不说很隐蔽,被搞了不容易发现。

PHP天数计算

<?PHP
//今天与2012年11月29日相差多少天
$Date_1=date("Y-m-d");
$Date_2="2012-11-29";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d1-$d2)/3600/24);
Echo "宝宝出生已经".$Days."天";
Echo "<br>";

//今天到2013年11月29日还有多少天
$Date_1=date("Y-m-d");
$Date_2="2013-11-29";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d2-$d1)/3600/24);
Echo "离宝宝生日还有".$Days."天";

?>

ini_set(

今天在查看messages日志文件时,发现存在大量的错误:

Jan  4 14:41:08 myhost suhosin[954]: ALERT - script tried to disable memory_limit by setting it to a negative value -1 bytes which is not allowed (attacker '110.75.173.*', file '/home/wwwroot/2dan.cc/index.php', line 5)

后来发现原因是:index.php文件中有这么一行:

// 取消内存限制
ini_set("memory_limit",'-1');

而php.ini中

memory_limit = 128M

解决方法:

  1. 删除index.php中的

    ini_set("memory_limit",'-1');
    
  2. 将二处的值改为相同。
  3. 卸载 suhosin
  4. 修改php.ini

    memory_limit = -1
    

不推荐4,原因是可能内存会被吃光。

新浪微博短网址API接口

API地址:https://www.2dan.cc/labs/short.php

参数说明

type:处理方式,1表示原地址缩短为新浪微博短地址;2表示将新浪短地址还原成原地址。
url:链接地址,根据上面的type方式url为相应的地址。

演示地址

长转短:https://www.2dan.cc/labs/short.php?type=1&url=http://www.2dan.cc
短转长:https://www.2dan.cc/labs/short.php?type=2&url=http://t.cn/hdptQe

PHP获取当前页面URL

在PHP众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有apache才支持,因此,我们需要一个更加通用的方式来获取REQUEST_URI的值,本文就是结束这一问题的解决方案

// 说明:获取 _SERVER['REQUEST_URI'] 值的通用解决方案 
// 整理:www.2dan.cc 
<?php
function request_uri() 
{
    if (isset($_SERVER['REQUEST_URI'])) 
    {
        $uri = $_SERVER['REQUEST_URI']; 
    }
    else
    {
        if (isset($_SERVER['argv'])) 
        {
            $uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0]; 
        }
        else
        {
            $uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING']; 
        }
    }
    return $uri; 
}
?>