SEO-P-Linkに発リンク制限 Ver.1.00

 しばらくぶりの投稿です。
 3000以上の発リンクを持って我らのSEO-P-Linkに登録後、速攻削除というトンでもない登録者が横行している。以前から、SEO-P-Linkに発リンク数の制限をつけたいと思っていたので、頭にきたパワーでこしらえてみたのだ。
 以下の3箇所のプチ改でいけるはず。現バージョンの発リンク数計量結果はSu-Jineさんのところと、ちょっとだけ違うけど可としよう!今後phpの正規表現って奴を勉強して、もっと正確に計量できるようにする予定なのだ。

(1)regist.phpの最初のほうに下記青字を追加。
<?php
session_start();
include(“config.php”);
include(“./system/function.php”);
include(“./system/linklist.php”);

$mode = “”;
$mode = data_convert($_GET["mode"]); 

(2)regist.phpの160行目あたりに下記青字を追加
// NGHOST判別
$nghost = explode(“,”,nghost);
foreach ($nghost as $value) {
if (strpos($host,$value) !== false) {
$error_message .= “<li>このホストからは登録できません。</li>¥n”;
$err_flag = true;
break;
}
}

// ■■追加始まり■■
// 登録サイトトップページの発リンク数
$link_su = link_num($site_url);
if ($link_su > top_link_limit ) {
$error_message .= “<li>登録サイトトップページの発リンク数(“.$link_su.”)が制限を越えています。”.top_link_limit.”以内にしてください。</li>¥n”;
$err_flag = true;
}

// 登録サイトリンク設置ページの発リンク数
$link_su = link_num($site_linkpage_url);
if ($link_su > link_link_limit ) {
$error_message .= “<li>登録サイトリンク設置ページの発リンク数(“.$link_su.”)が制限を越えています。”.link_link_limit.”以内にしてください。</li>¥n”;
$err_flag = true;
}
// ■■追加終わり■■

// NGIP判別
$ngipaddr = explode(“,”,ngipaddr);

(3)config.phpの終わりのほうに下記青字を追加
// NGサイトリスト(通常は変更の必要はありません)
define(nglistfile , “./data/nglist.dat”);

// トップページの発リンク制限数
define(top_link_limit , 99);

// リンク設置ページの発リンク制限
define(link_link_limit , 99);

?>

この場合、トップ又はリンクページの発リンク99以上は登録出来ません。数字は管理者が適当に決定してください。

(4)system/linklist.phpの終わりのほうに下記青字を追加。(2011-1-9この項追記
function link_num($get_url){
    // $html = file_get_contents($get_url);
       
        // サイトURLのhttp://を削除
        $site_url_nonhttp = str_replace(“http://”, “”, $get_url);

        // サイトURLのHostをゲット
        $site_url_host = substr($site_url_nonhttp, 0, strpos($site_url_nonhttp, “/”));

        // サイトURLURLのPathをゲット
        $site_url_path = substr($site_url_nonhttp, strpos($site_url_nonhttp, “/”));
       
        //80接続
        $fp = fsockopen($site_url_host, 80, $ErrNo, $ErrStr, 10);
        if (!$fp) {
        echo “接続できません<br>¥n”;
        }
        else {
            // 読み込みのタイムアウト設定
            socket_set_timeout($fp, 2);
            fputs($fp, “GET “. $site_url_path . ” HTTP/1.0¥r¥nHost:” . $site_url_host . “¥r¥n¥r¥n”);
            while(!feof($fp))
            $html.=fgets($fp, 128);
        }
        fclose($fp);
    $pattern = ‘/<a href=”?([^"¥s]+).*?>(.+?)<¥/a>/is’;
    $match = array();
    preg_match_all($pattern, $html, $match);
    $match [1] = array_unique($match [1]);
    $link_num = count( $match [1] );
    return $link_num;
}

?>

※いつものお約束だけど当サイトのプチ改を利用する場合は、自己責任でお願いします。

カテゴリー: SEO-P-Linkプチ改   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>