ファイル 1:index.php echo "\n"; ############################################### ## ################################## mydowns は、Web サイト (http:/) が所有する中国語版を収集および整理しています。 /www.85time.com) # # このプログラムは、2001 年 5 月 18 日にリリースされた最新バージョンです。このサイトは今後もこのプログラムの修正と改善を行っていきますので、ご注意ください。 # # このプログラムはドメイン名所有者の詳細情報を照会することができ、照会用に 9 種類のドメイン名を提供するようになりました。 # # デモアドレス: http://www.85time.com/whois PHP、CGを提供するI、HTML、JSP等のソースプログラム、電子教科書、記事資料この情報は保管しておいてください、ありがとうございます。 ######################################################################## ########################################## MWhois - Whois ルックアップPHP と Perl で書かれたスクリプト Copyright (C) 2000 Matt Wilson このプログラムはフリー ソフトウェアです。 Free Software Foundation によって公開されている GNU General Public License の条項に基づいて、 それを再配布したり、変更したりすることができます。ライセンスのバージョン 2、または (オプションで) それ以降のバージョン。 このプログラムは役立つことを期待して配布されています ただし、いかなる保証もありません。 商品性や特定目的への適合性についての暗黙の保証もありません。 詳細については、 GNU 一般公衆利用許諾書を参照してください。 このプログラムと一緒に GNU General Public License のコピーも受け取っているはずです。そうでない場合は、Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ if(!isset($use_global_templates)) $use_global_templates = 1; までご連絡ください。 // グローバル テンプレートを使用するかどうか $template_header = "gheader.tml"; // グローバルヘッダーテンプレート $template_footer = "gfooter.tml"; // グローバル フッター テンプレート /* テンプレート情報 ---------------------------- テンプレート内の次の文字列は次のとおりです。説明に置き換えられます。 [>DOMAIN<] = 検索するドメイン [>RAWOUTPUT<] = Whoisクエリの生の出力 [>WHOIS_SERVER<] = 使用されるWhoisサーバー [>AVAIL_LIST<] = のリスト利用可能なドメイン (グローバル/ウィザード検索モード) [>UNAVAIL_LIST<] = 利用できないドメインのリスト (グローバル/ウィザード検索モード) [>ERROR_MSG<] = 生成されたエラー メッセージ [>EXT< ;] = 設定されている場合の拡張子 [>EXT_HTML_LIST<] = HTML リストでサポートされている拡張子のリスト [>EXT_LIST スクリプトへのパラメータ (パラメータはありません)通常の検索スクリプトを起動します); show_raw=1 = 未加工の出力ページを表示するかどうか do_wizard=1 = 渡される情報がウィザード用かどうか domain=(string) = ドメイン (文字列) を検索する list_exts=1 = を表示拡張機能がサポートされているページ do_global=1 = グローバル検索ページに移動します do_mini_search=1 = 他には何もせずに検索フォームを表示するだけです company=(string) = ウィザードに使用され、検索に必要です keyword1=(string) =ウィザードに使用され、検索に必要です keyword2=(string) = ウィザードに使用され、検索に必要です 不明な点がある場合は、提供されているサンプル テンプレートを参照してください */ $template_search_mini = "検索フォーム.tml"; // テンプレートを検索 $template_search = "searchmain.tml"; $template_raw_output = "rawoutput.tml"; // 生の出力テンプレート $template_available = "isavail.tml"; // 利用可能なテンプレート $template_taken = "istaken.tml"; // 取得したテンプレート $template_wizard = "wizard.tml"; // ドメイン ウィザードのテンプレート $template_wizard_results = "wizardres.tml"; // ドメイン ウィザードの出力テンプレート $template_error = "error.tml"; // エラーの場合のテンプレート $template_exts_list = "exts_list.tml"; $template_global = "global.tml"; $template_global_results = "globres.tml"; $search_title = "フロイドにあなたのドメイン名を見つけてもらいましょう"; $raw_output_title = "フロイドの生の WHOIS 出力"; $available_title = "フロイドはドメイン名が利用可能だと言いました!"; $taken_title = "フロイド氏は、Doman 名が使用されていると述べています"; $wizard_title = "ドメイン名ウィザードのフロイド"; $error_title = "フロイドにエラーが発生しました!"; $exts_list_title = "Floyd は次の拡張機能をサポートしています"; $global_title = "大変な仕事はフロイドに任せてください!"; // 使用する拡張機能。必要に応じて編集してください $whois_exts = array( "com", "net", "org", "com.cn", "net .cn」、 「org.cn」、 「gov.cn」、 「sh」、 「cc」 ); // 一部の拡張機能 (com/net/org) には、情報に使用されるサーバーの名前が含まれるサーバーがあります。これは、サーバー情報のソースとして Whois サーバーを使用するようにスクリプトに指示するだけです。 ... ;) $whois_si_servers = array(); // `whois' サーバーの配列 $whois_servers = array(); // 情報用のデフォルトの Whois サーバー $whois_info_servers = array(); // 試行するバックアップ Whois サーバー $whois_info_servers_backup = array(); // ドメインが利用可能な場合に返される文字列 $whois_avail_strings = array(); // $errormsg = ""; の後にいくつかの置換文字列が続きます。 $titlebar = "MWhois はマット・ウィルソンによって書かれました"; // デフォルトのタイトルバー $rawoutput = ""; $avail = array(); $unavail = array(); $whois_server = ""; // スクリプトの名前 $script_name = "index.php"; function my_in_array($val,$array_) { for($l=0; $l if($array_[$l] == $val) return 1 ; 0を返します。 } // これにより、拡張機能のサーバー情報が $whois_exts にロードされます。 関数load_server_info() { グローバル $whois_exts; グローバル $whois_si_servers; グローバル $whois_servers; グローバル $whois_info_servers; グローバル $whois_info_servers_backup; グローバル $whois_avail_strings; //servers.lst ファイルをロードします $tlds = file("servers.lst"); for($l=0; $l // 時間の先頭のスペースまたは末尾のスペース $tlds[$l] = Chop($tlds[$l]); // コメント行をフィルタリングします (# で始まります) if(substr($tlds[$l], 0, 1) == "#" || !strlen($tlds[$l])) { continue ; } // 区切り文字 `|' を介して爆発します $es =explode("|", $tlds[$l]); // この TLD が必要かどうかを確認します if(!my_in_array($es[0], $whois_exts)) { continue; } // はい、そのため、詳細を適切な配列に保存します $whois_servers[$es[0]] = $es[1]; $whois_si_servers[$es[0]] = $es[5]; $whois_info_servers[$es[0]] = $es[3]; $whois_info_servers_backup[$es[0]] = $es[4]; $whois_avail_strings[$es[1]] = $es[2]; // 以上です! } } function select_info_server($domain, $ext) { global $whois_info_servers; グローバル $whois_si_servers; グローバル $whois_server; グローバル $whois_servers; $whois_server = ""; if($whois_si_servers[$ext]){ if(($co = fsockopen($whois_servers[$ext], 43)) == false){ echo "\n"; fputs($co, $domain.".".$ext."\n"); while(!feof($co)) $output .= fgets($co,128); fclose($co); $he = strpos($output, $whois_si_servers[$ext]) + strlen($whois_si_servers[$ext]); $le = strpos($output, "\n", $he); $whois_server = substr($output, $he, $le-$he); echo "\n"; } } else { $whois_server = $whois_info_servers[$ext]; } $whois_server = トリム($whois_server); } // すべての変更を行います function make_changes($fil) { global $domain; グローバル $errormsg; グローバル $titlebar; グローバル $rawoutput; グローバル $avail; グローバル $unavail; グローバル $ext; グローバル $whois_exts; グローバル $whois_servers; グローバル $script_name; $f = implode("",file($fil)); $f = str_replace("[>WHOIS_SERVER<]",$whois_servers[$ext],$f); $f = str_replace("[>TITLE_BAR $f = str_replace("[>DOMAIN $f = str_replace("[>ERROR_MSG $f = str_replace("[>RAWOUTPUT for($l=0; $l $sp[1] = substr(strchr($avail[$l],"."),1); $sp[0] = substr($avail[$l],0,strlen($avail[$l])-strlen($sp[1])-1); $avail_s = $avail_s." href=\"".$script_name."?domain=".$sp[0]."&ext=".$sp[1]."\"> ".$avail[$l]." "; } for($l=0; $l $sp[1] = substr(strchr($unavail[$l],"."),1); $sp[0] = substr($unavail[$l],0,strlen($unavail[$l])-strlen($sp[1])-1); $unavail_s = $unavail_s." href=\"".$script_name."?domain=".$sp[0]."&ext=".$sp[1]."\"> ".$unavail[$l]." "; } $f = str_replace("[>AVAIL_LIST<]",$avail_s,$f); $f = str_replace("[>UNAVAIL_LIST<]",$unavail_s,$f); $f = str_replace("[>SCRIPT_NAME<]", $script_name, $f); $f = str_replace("[>EXT<]",$ext,$f); $f = str_replace("[>EXT_LIST<]",implode(" ",$whois_exts),$f); $f = str_replace("[>EXT_HTML_LIST<]"," name=ext>\n".implode("\n ",$whois_exts)."\n< /select>",$f); $f を返します。 } // エラーページを表示 function do_error() { global $use_global_templates; グローバル $template_header; グローバル $template_footer; グローバル $template_error; グローバル $ドメイン; グローバル $titlebar; グローバル $error_title; グローバル $errormsg; $titlebar = $error_title; if($use_global_templates) echo make_changes($template_header); echo make_changes($template_error); if($use_global_templates) echo make_changes($template_footer); exit(); } // ドメインが正当であることを確認します function check_domain() { global $errormsg; global $whois_exts; if( !strlen($ext)){ $errormsg = "ドメイン名のサフィックスが選択されていません"; $errormsg = "このドメイン名のサフィックスはサポートされていません" ; return 0; $errormsg = "ドメイン名が次のとおりです長い、または短すぎる "; t return 0; } if (strong ($ ドメイン) == 2 &&! EREG (" ([0-9]) {2} ", $ ドメイン) { $ errormsg =" 2 バイトのドメイン名には文字を含めることはできません"; return 0; 、連続して使用することはできません。 "; Return 0; } if (! EREG (" [a-Z] | [a-Z] | 9] |-) {".Strlen ($domain)."}.",$domain)){ $errormsg = "ドメイン名には英数字の組み合わせと - のみを含めることができます"; ドメインの場合、perform_whois 関数は 0 を返します。利用可能な場合は、生の情報または 1 function Perform_whois($domainname,$ext,$raw) { global $whois_servers global $whois_avail_strings; を返します。 = "" ; if($raw) return do_raw($domainname,$ext); if(($ns = fsockopen($whois_servers[$ext],43)) == false){ $errormsg = "ドメイン名クエリ サーバーに接続できません".$whois_servers[$ext]." "; return -1;ドメイン名.$ext \n "); while(!feof($ns)) $rawoutput .= fgets($ns,128); fclose($ns); echo "\n"; if (!ereg($whois_avail_strings [$whois_servers[$ext]]、$rawoutput)) 戻り値 } // これは Whois 検索を実行し、返されたデータを表示します function do_raw($domainname, $ext) { global $titlebar; グローバル $template_raw_output; グローバル $use_global_templates; グローバル $template_header; グローバル $template_footer; グローバル $raw_output_title; グローバル $whois_info_servers; グローバル $whois_servers; グローバル $rawoutput; グローバル $errormsg; グローバル $whois_info_servers_backup; グローバル $whois_avail_strings; グローバル $whois_server; choose_info_server($domainname, $ext); if(($ns = fsockopen($whois_server,43)) == false){ if(($ns = fsockopen($whois_info_servers[$ext],43)) == false){ if(($ ns = fsockopen($whois_info_servers_backup[$ext], 43)) == false){ return -1; } else { $whois_server = $whois_info_servers_backup[$ext]; } } else { $whois_server = $whois_info_servers[$ext]; } } print "\n"; fputs($ns,"$domainname.$ext\n"); while(!feof($ns)) $rawoutput = $rawoutput.fgets($ns,128); fclose($ns); echo ""; // $pos = @strpos($rawoutput,$whois_avail_strings[$server]); // if(is_string($pos) && !$pos){} // else{ // if(!is_string($pos) || $pos){ // if(($ns = fsockopen( $whois_info_servers_backup[$ext],43)) == false) // return -1; // else{ // $rawoutput = ""; // fputs($ns,"$domainname.$ext\n"); // while(!feof($ns)) // $rawoutput = $rawoutput.fgets($ns,128); // $pos = @strpos($rawoutput,$whois_avail_strings[$whois_info_servers_backup[$ext]]); // if(!is_string($pos) || $pos){} // else // return -1; // } // } $titlebar = $raw_output_title; if($use_global_templates) echo make_changes($template_header); echo make_changes($template_raw_output); if($use_global_templates) echo make_changes($template_footer); exit(); } function do_getsearch_mini() { global $template_search_mini; echo make_changes($template_search_mini); exit(); } function do_getsearch() { global $template_footer; グローバル $template_header; グローバル $use_global_templates; グローバル $titlebar; グローバル $template_search; グローバル $search_title; $titlebar = $search_title; if($use_global_templates) echo make_changes($template_header); echo make_changes($template_search); if($use_global_templates) echo make_changes($template_footer); exit(); } function do_avail() { global $template_footer; グローバル $template_header; グローバル $use_global_templates; グローバル $titlebar; グローバル $template_available; グローバル $available_title; $titlebar = $available_title; if($use_global_templates) echo make_changes($template_header); echo make_changes($template_available); if($use_global_templates) echo make_changes($template_footer); exit(); } function do_taken() { global $template_footer; グローバル $template_header; グローバル $use_global_templates; グローバル $template_taken; グローバル $titlebar; グローバル $taken_title; $titlebar = $taken_title; if($use_global_templates) echo make_changes($template_header); echo make_changes($template_taken); if($use_global_templates) echo make_changes($template_footer); exit(); } function do_exts() { global $template_footer; グローバル $template_header; グローバル $use_global_templates; グローバル $template_exts_list; グローバル $titlebar; グローバル $exts_list_title; $titlebar = $exts_list_title; if($use_global_templates) echo make_changes($template_header); echo make_changes($template_exts_list); if($use_global_templates) echo make_changes($template_footer); exit(); } 関数 do_glob() { グローバル $ドメイン; グローバル $whois_exts; グローバル $avail; グローバル $unavail; グローバル $template_header; グローバル $template_footer; グローバル $use_global_templates; グローバル $titlebar; グローバル $global_title; $titlebar = $global_title; if($use_global_templates) echo make_changes($template_header); if(!isset($domain)){ global $template_global; echo make_changes($template_global); } else{ global $template_global_results; for($l=0; $l if(($r = Perform_whois($domain,$whois_exts[$l],0)) != -1){ if(!$r) $avail[] = $domain.".".$whois_exts[$l]; else $unavail[] = $domain.".".$whois_exts[$l]; } } echo make_changes($template_global_results); } if($use_global_templates) echo make_changes($template_footer); exit(); } function do_wiz() { グローバル $ドメイン; グローバル $ext; グローバル $avail; グローバル $unavail; グローバル $template_header; グローバル $template_footer; グローバル $use_global_templates; グローバル $titlebar; グローバル $wizard_title; グローバル $errormsg; グローバル $keyword1; グローバル $keyword2; グローバル $company; $titlebar = $wizard_title; if($use_global_templates) echo make_changes($template_header); if(!isset($company) || !isset($keyword1) || !isset($keyword2)){ グローバル $template_wizard; echo make_changes($template_wizard); } else{ global $template_wizard_results; $domains = array( $company, $company.$keyword1, $company."-".$keyword1, word1.$company、 $keyword1."-".$company、 $company .$keyword2、 $company."-".$keyword2, $keyword2.$company、 $keyword2 "-".$company、 $keyword1、 $keyword2、 $keyword1.$keyword2、 $キーワード2.$キーワード1, $キーワード1."-".$キーワード2, $キーワード2."-".$キーワード1 ); for($l=0; $l $domain = strto lower(str_replace(" ","",$domains[$l])); if(check_domain()){ if(($r = Perform_whois($domain,$ext,0)) != -1){ if(!$r) $avail[] = $domain.」。 ".$ext; else $unavail[] = $domain.".".$ext; } } echo make_changes($template_wizard_results); } if($use_global_templates) echo make_changes($template_footer); exit(); } load_server_info(); if(!check_domain()) do_error(); if(isset($do_wizard)) do_wiz(); if(isset($do_global)) do_glob(); if(isset($list_exts)) do_exts(); if(isset($do_mini_search)) do_getsearch_mini(); if(!isset($domain)) do_getsearch(); if(isset($show_raw)){ if(perform_whois($domain,$ext,1) != -1) $errormsg = "MWhoisドメイン名查询内部错误"; do_error(); } $ret = Perform_whois($domain,$ext,0); if($ret == -1) do_error(); if(!$ret) do_taken(); else do_avail(); ?>
http://www.bkjia.com/PHPjc/315524.html www.bkjia.com true http://www.bkjia.com/PHPjc/315524.html 技術記事 文例一:index.php ?php echo !-- MWhois によって提供され、Matt Wilson によって書かれました matt@mattsscripts.co.uk --\n; /* ################################################ #####################...