// mailform.php release 2 Copyright 2006 TAKEDA Hiroyuki // http://atashi.net/inu/ja/software/mailform.html // [基本仕様] // // PHPで書かれています // UTF-8で書かれています // METHOD="POST"専用です // http://captcha.jpのCAPTCHAサービスに対応しています // // [設置方法] // // PHPが実行可能なサーバで、以下のファイルを設置します。 // 括弧内の数字はパーミッションの値です。 // // /public_html/(任意のディレクトリ) // |-- mailform.php (644 or 604) // |-- des.php(644 or 604) // // mailform.php // スクリプト本体です。 // des.php // DES暗号化ライブラリです。 // // [履歴] // 2006-10-10 release 2 DES暗号化、captcha4.phpを使うように変更 // 2006-07-06 release 1 作った // //HTTP環境変数取得 $strServerName = $_SERVER["SERVER_NAME"]; $strGatewayInterface = $_SERVER["GATEWAY_INTERFACE"]; $strServerProtocol = $_SERVER["SERVER_PROTOCOL"]; $strRequestMethod = $_SERVER["REQUEST_METHOD"]; $strPathInfo = $_SERVER["PATH_INFO"]; $strScriptName = $_SERVER["SCRIPT_NAME"]; $strQueryString = $_SERVER["QUERY_STRING"]; $strRemoteAddr = $_SERVER["REMOTE_ADDR"]; $strRemoteHost = $_SERVER["REMOTE_HOST"]; $numContentLength = $_SERVER["CONTENT_LENGTH"]; $strHttpUserAgent = $_SERVER["HTTP_USER_AGENT"]; $strHttpReferer = $_SERVER["HTTP_REFERER"]; // --- 設定部 ------------------------------------------------------------------ // --- 必ず書き換える項目 ------------------------------------------------------ // --- メールの送信先 ---------------------------------------------------------- $mail_to = 'info@asama.ne.jp'; // --- 必要に応じて書き換える項目 ---------------------------------------------- // 送信完了ページを別ページにリダイレクトする場合はURLを書いてください。 // このスクリプトで送信完了ページを出力する場合は空欄です(デフォルト 空欄) $redirect = ''; // --- CAPTCHA関連 ------------------------------------------------------------ // captcha.jpによるロボットスパム防止を TRUE:使う FALSE:使わない $captcha = FALSE; // DESの秘密鍵 $key = ''; // captcha.jpのアカウントID $id = ''; // captchaの桁数 $captcha_length = 4; // --- プログラム部 ------------------------------------------------------------ // --- 初期化 ------------------------------------------------------------------ $release = '2'; $base = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $m = $n = 0; // --- captcha.phpに渡す文字列をランダムに生成し、DESで暗号化してURLエンコード - if ( $captcha ) { require( 'form/des.php' ); $auth = ''; $len = strlen( $base ) - 1; for ( $n = 0; $n < $captcha_length; $n ++ ) $auth .= substr( $base, rand( 0, $len ), 1 ); $auth = urlencode( des( $key, $auth, 1, 0, null ) ); } // --- 送信 -------------------------------------------------------------------- if ( $_POST['act'] == 'send' ) { // --- エラー処理 ---------------------------------------------------------- if ( $_POST['name'] == '' ) error( '名前が入力されていません' ); if(preg_match('/^[a-zA-Z0-9]+$/', $_POST['name'])) error ('文字コードが不正です'); if(preg_match('/^[a-zA-Z0-9!-\/:-@¥[-`{-~ ]+$/', $_POST['name'])) error ('文字コードが不正です'); if ( $_POST['email'] == '' ) error( 'メールアドレスが入力されていません' ); if ( $_POST['subject'] == '' ) error( '件名が入力されていません' ); //if ( $_POST['inquiries'] == '' ) error( '本文が入力されていません' ); if ( $_POST['body'] == '' ) error( '本文が入力されていません' ); if(preg_match('/^192\.151\.148\.23[2-9]$/', $strRemoteAddr])) error ('ブラックリスト登録済み'); // --- CAPTCHA ------------------------------------------------------------- if ( $captcha ) { $_POST['auth'] = trim( des( $key, urldecode( $_POST['auth'] ), 0, 0, null ) ); if ( strtoupper( $_POST['charenge'] ) != strtoupper( $_POST['auth'] ) ) error( 'CAPTCHAテストに失敗しました' ); } // --- 送信 ---------------------------------------------------------------- $_POST['name'] = mb_convert_encoding( $_POST['name'], 'JIS', 'UTF-8' ); $_POST['subject'] = mb_convert_encoding( $_POST['subject'], 'JIS', 'UTF-8' ); $_POST['body'] = mb_convert_encoding( $_POST['body'], 'JIS', 'UTF-8' ); //$_POST['tel'] = mb_convert_encoding( $_POST['tel'], 'JIS', 'UTF-8' ); //$_POST['postal_code'] = mb_convert_encoding( $_POST['postal_code'], 'JIS', 'UTF-8' ); //$_POST['address'] = mb_convert_encoding( $_POST['address'], 'JIS', 'UTF-8' ); //$_POST['inquiries'] = mb_convert_encoding( $_POST['inquiries'], 'JIS', 'UTF-8' ); $_POST['subject'] = '=?iso-2022-jp?B?' . base64_encode( $_POST['subject'] ) . '?='; $headers = 'From: =?iso-2022-jp?B?' . base64_encode( $_POST['name'] ) . '?= <' . $_POST['email'] . ">\r\n"; $body = '氏名 : ' . $_POST['name'] . "\r\n\r\n" . 'E-MAIL : ' . $_POST['email'] . "\r\n\r\n" . '問い合わせ内容 : ' . "\r\n" . $_POST['body']. "\r\n\r\n" . 'SERVER_NAME = ' . $strServerName . "\r\n" . 'GATEWAY_INTERFACE = ' . $strGatewayInterface . "\r\n" . 'SERVER_PROTOCOL = ' . $strServerProtocol . "\r\n" . 'REQUEST_METHOD = ' . $strRequestMethod . "\r\n" . 'PATH_INFO = ' . $strPathInfo . "\r\n" . 'SCRIPT_NAME = ' . $strScriptName . "\r\n" . 'QUERY_STRING = ' . $strQueryString . "\r\n" . 'REMOTE_ADDR = ' . $strRemoteAddr . "\r\n" . 'REMOTE_HOST = ' . $strRemoteHost . "\r\n" . 'CONTENT_LENGTH = ' . $numContentLength . "\r\n" . 'HTTP_USER_AGENT = ' . $strHttpUserAgent . "\r\n" . 'HTTP_REFERER = ' . $strHttpReferer . "\r\n"; $body = mb_convert_encoding( $body, 'JIS', 'UTF-8' ); mail( $mail_to, $_POST['subject'], $body, $headers, $parameter ); if ( $_POST['copy'] != '' ) mail( $mail_to, $_POST['subject'], $body, $headers, $parameter ); // --- 送信完了ページ ------------------------------------------------------ if ( $redirect != '' ) { header( "Location: $redirect" ); exit; } else { ?>
exit; } } // --- エラーメッセージ出力 ---------------------------------------------------- function error( $message ) { ?>
あなたのホームページにCGIでアクセントを。 |
CGIの運用を全てUNIXサーバーに切り替えました。WindowsNTによるCGIサービスは別途ご相談ください。 下記のリストは動作確認が取れているCGIのサンプルです。 CGIの設置に制約があるプロバイダを御利用の方も御利用いただけますので御相談下さい。 設置されるCGIがシェアウェア等の場合には、御客様にてユーザー登録していただきます。また、WEB上に公開されているCGIを利用する場合は必ず作者の方の【利用規定】を熟読し、規定に違反しないことを御確かめ下さい。 |
Webカウンター | |||
Webカウンター。時刻表示や時計表示もできます。 利用できるオプションの表示サンプルがご覧になれます。 【サンプル・カウンタの設置方法】 |
|||
掲示板 【簡易BBS2000】 | |||
元発言に対するコメントが時系列に沿って1ページに表示されるタイプです。 【サンプル】 |
|||
フォームメール | |||
フォームの内容をURLデコードしてから電子メールで送信します。 【サンプル】 |
|||
フォームメール | |||
フォームの内容をURLデコードしてから電子メールで送信します。 こちらは記入された送信者のメールアドレスへ控えを送信することができます。 【サンプル】 |
基本的なCGI1個についての料金です。 |
|||
初期設定料 | 3,000円 | ||
CGI利用料 | 無料(月額) | ||
☆こちらの料金のほかに各サービスの月額利用料が発生いたします。 | |||
また、WWWサーバとデータベースの連動システムも設計いたします。 | |||
初期設定費 | 10,000円 データベースソフト代は別 | ||
設計費 | 100,000円~ 御打合わせ後にお見積りいたします | ||
お問い合わせは下記のフォームをご利用ください。
|
|
サービスに関するお問い合わせはこちら アサマインターネット URL: http://www.asama.ne.jp/ mailto: info@asama.ne.jp TEL: 0268-36-1919 FAX: 0268-36-4040 |