よく人気サイトにある用語集(辞典)、自分で考えた用語などを登録できる便利かつ楽しいものなのですが導入の仕方がわかりません。自分のプロバイダーはCGIが使えませんのでレンタルさせてくれるところがあればどなたか教えていただけませんか?それともやっぱり自分で作らないといけないのかな。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

えっと、ご質問の意味が良くわからないのですが、cgiの設置、入手方法、あるいは設置できるサーバがわからないいうことでしょうか。

。。
だとすれば、まず、サーバですが、
cgi関連サイトをご覧ください。どこだったか忘れましたが、サーバ別にcgiが置ける、置けないというリストを作って公開してくれているところがあります。それらのサーバの中にはフリーで使えるサーバもありますよ。。。ちなみに、私はtkcityでフリーでcgiを置いています。

次に、cgiのスクリプトについてですが、個人ユースの場合、無料で配布しているサイトからダウンして設置しているものがほとんどではないでしょうか。。。
cgiスクリプトはヘタをするとサーバそのものがダウンしてしまうという危険性もはらんでいます。従って安全性が確認されたモノ以外はアップすべきではありません。
cgiはPerlというプログラミング言語で書かれたモノがほとんどで、プログラム経験のない方の開発はツライものがあると思います。
cgi関連については、参考のために以下のURLを覗かれることをお勧めします。

参考URL:http://www.kent-web.com
    • good
    • 0
この回答へのお礼

ごめんなさい、舌ったらずだったですね。それでもいろいろ書いてくださってありがとうございます。
え~とレンタル掲示板のようにレンタル辞書(?)といった形でただリンクすればOKというものはないかなあ、なんて考えているんです。でもそんな都合のいいものなんかそうそう見つからないので、やはり自分でCGIサーバー借りていろいろやったほうがいいのかなあ、と思う今日この頃です。う~ん、できるかな?

お礼日時:2001/09/18 18:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qデータのアップロードやダウンロードに便利なCGIについて

ロリポップのサーバーを借りています。
ここで、データのアップロードやダウンロードを行えるCGIを設置したいのですが、お勧めなCGIがありましたら教えてください。
ホームページ上でデータのアップダウンができるほうがいいです。
ここがいいかなとも思っているのですが、他に有料でもいいのですので、いいとこ教えてください。

http://homepage2.nifty.com/s-tanaka/uploadcgi.html

よろしくお願いします。

Aベストアンサー

ちょっと質問の意図(なぜFTPではなくCGIを使うのか)が判らないので的はずでかもしれませんが。

参考URLはリンク集ですがの中からいくつか試してみてはどうでしょうか。
アップ/ダウンロードの他に編集、パーミッションの設定など多機能なものもあるようです。

参考URL:http://www.yumemaboroshi.net/cate37/

QCGIでCGIを呼び出す方法

いつもお世話になっています。

今掲示板のCGI(a.cgi)上に広告をランダムで表示するCGI(b.cgi)を記述しているのですがどうにも正しく表示されず困ってます…

他のCGIを呼び出すにはどのように記述すればいいのでしょうか?

(htmlでいうとSSIで呼び出すように…)

Aベストアンサー

掲示板で表示するなかにscriptタグを使ってcgiを呼び出すのどうでしょう。
現在閲覧中の人をカウントするcgiなどを見てみると
そうしてます。(閲覧中でも定期的に内容を書き換えてるので
広告を表示するのにも適してるのではないかと)

Qcgiからcgiを呼び出す方法2

先日「cgiからcgiを呼び出す方法」で質問させていただいたのですが、
その後の状況にて新たな質問をさせていただきます。

【経緯】
もともと単体で動作していたcgi Aに対して新たにcgi Bを作成し、
cgi Bからcgi Aを呼び出したいのですが、うまくいきません。
 cgi A:アンケート回答フォームのようなもの
 cgi B:認証フォーム(コードを入力してDB内のデータと一致したらcgi Aを呼び出したい)

【その後の状況】
exec("perl A.cgi");
とすることで cgi A の画面を表示することが出来ました。

【新たな質問】
(1) cgi A の画面は表示されましたが title は cgi B のままです。
 exec で cgi A が呼び出された時点で title は cgi A にならないのでしょうか?
(2)いろいろなサイトに、呼び出し先に
 "Content-Type: text/html; charset=Shift_JIS\n\n"
 の記述があってはダメとの説明がありましたが、この記述がないと
 cgi Aにてデータを入力し、送信ボタンを押すと
 500 Internal Server Error(malformed header from script. Bad header~)
 が表示されてしまいます。
 Content-Type の記述があれば、cgi A の送信ボタンを押すことによって
 入力したデータがDBに格納され、また、title も cgi A のタイトルが表示されます。

【cgi A が呼び出された時点の画面イメージ】
 cgi B のタイトル
 Content-Type: text/html; charset=Shift_JIS
 cgi A のタイトル
  cgi A の入力項目
  cgi A の送信ボタン

cgi A の送信ボタン(submit)を押すことによって、完全に cgi Aに制御が渡るということでしょうか?
cgi A を呼び出した時点で完全に cgi A に制御を渡したいのですが、
どなたかアドバイスをお願いします。
cgi A の構成を変える必要があるようであれば、その当たりのアドバイスもお願いします。

先日「cgiからcgiを呼び出す方法」で質問させていただいたのですが、
その後の状況にて新たな質問をさせていただきます。

【経緯】
もともと単体で動作していたcgi Aに対して新たにcgi Bを作成し、
cgi Bからcgi Aを呼び出したいのですが、うまくいきません。
 cgi A:アンケート回答フォームのようなもの
 cgi B:認証フォーム(コードを入力してDB内のデータと一致したらcgi Aを呼び出したい)

【その後の状況】
exec("perl A.cgi");
とすることで cgi A の画面を表示することが出来ました。

【新たな質問...続きを読む

Aベストアンサー

横から失礼します。

一度認証して、LocationでちがうCGIを呼び出すのは 認証した意味がなくなると思うのですが・・
というのも、認証しないでいきなりCGI-Aを呼び出したらどうなります?
認証するということは、一度の処理ですべてを行わないと意味がなくなります。

なので、AとかBとかに分けないで1つにするのが初心者向けですよー
もうちょっと理解が深まれば、CGI-Aをrequireして1つのCGIとしてあつかえることができます。

さらに簡単にするのなら、1つのCGI内でサブルーチンにして分けて処理を行う方向性が後々の変更のため
そして、コード量を減らすことや なによりエラーをなくすためにはいい方法です。
例)
認証サブルーチン、DB問い合わせサブルーチン、アンケートフォームサブルーチン、アンケート受け取りサブルーチンetc


そしてこれらを1つのCGIで処理するページングを行いたいのであれば、引数としてURLに含めるのが一般的です。
例)
xxx/B.cgi?que=form (認証して入力用のアンケートフォームを表示するなど)
xxx/B.cgi?que=input (認証してアンケートフォーム入力値を受け取り結果を表示するなど)

上記のように常に認証しないと、意味がなくなります。


それと、system関数やexec関数は同じプログラム言語を使うならお勧めできません。
環境によっては使えないことも多々ありますし、なによりコスト(サーバ負荷)とリスク(トンネル)が高いです。
この辺はもう少し言語に対する理解が深まってから手を出すべきです。(初心者に勧めるべきことではありませんよね)

横槍のようで何なんですけど、なんだか変な方向に行きそうなので、口を出してしまいました。

横から失礼します。

一度認証して、LocationでちがうCGIを呼び出すのは 認証した意味がなくなると思うのですが・・
というのも、認証しないでいきなりCGI-Aを呼び出したらどうなります?
認証するということは、一度の処理ですべてを行わないと意味がなくなります。

なので、AとかBとかに分けないで1つにするのが初心者向けですよー
もうちょっと理解が深まれば、CGI-Aをrequireして1つのCGIとしてあつかえることができます。

さらに簡単にするのなら、1つのCGI内でサブルーチンにして分...続きを読む

QCGIからCGIへの(GET属性)リンクについて

CGI(Perl)ゲームを作っていて個人名での戦闘ログを一覧表示するプログラムを作っていて下記の表示になるように作りました。

「Viewer.cgi?name=hogehoge&…(略」
ファイル名 攻、守
1.cgi  守備側
7.cgi  攻撃側
16.cgi  攻撃側
    :
    :
(1~16.cgiはログファイルで読み込み専用です)

これからさらに1.cgi、7.cgi・・・とリンクで単体ファイル毎のログを表示させたいと思い、<a href=http://~/log_viewer.cgi?name=16.cgi>と書いてリンクしてみたのですが、うまくいきませんでした。GET属性のように送るにはフォームからGET属性を付けて送るしかないのでしょうか?

リンクのテキストリンクでの送信方法(その後にやらなければいけないこと等)、もしくはフォームでテキストリンクでの送信方法を教えていただきたいです。無理でしたら出来る限りテキストリンクになるような方法でも構いません。どうかよろしくお願いします。

Aベストアンサー

GETではアドレスで値を渡します。
ですから、ttp://~/log_viewer.cgi?name=16.cgiでも構いません。
フォームからGET属性を付けて送っても結局は上と同じことになります。

結局、エラーの内容はなんですか?
500エラー(内部サーバーエラー)でしょうか。404エラー(そのファイルがない)でしょうか。それとも他のでしょうか?

上のようにエラー内容・Viewer.cgi(log_viewer.cgiかも?)と1.cgiの中身・使っているサーバーの名前の4つを教えていただけますか?

くれぐれも著作権に当たらないように。

あと、最初は
Viewer.cgi?name=hogehoge&…(略 なのにリンクは
log_viewer.cgi?name=16.cgi ですがそこらへんのミスとかではないのでしょうか?

QCGI1からCGI2への変数の受け渡しと表示

他のご質問読んでもわからなくて笑
CGIの知識は、書いてあるとおりに設定を変えたりhtmlとか書き出すところの内容変えたり…いらないところに#を付けて、うごくかなぁってドキドキしている程度です(笑)わかりにく。

今回は、まず、キリ番のCGI-Aがあります。そのCGI-Aはキリ番GETしたら登録formが出てきます。登録があったらメールが管理人宛てにくるんです、その時、変数で、フォームで書いてもらった内容+その人の取ったカウント数・時間・エージェント・HOSTが、一緒に記載されてきます。
CGIではこんな感じ↓

print MAIL "時間 : $adate\n";
print MAIL "ホスト: $ahost\n";
print MAIL "使用PC: $kuag\n";
print MAIL "名前 : $aname\n";
print MAIL "カウント : $acount\n";
print MAIL "メール: $email\n";

ってちゃんと送られてきます。
で、この変数なんですが、同ディレクトリにあるメールフォームのCGI-Bに渡して(CGI-Aで登録したら必ずCGI-Bにくると)、CGI-Bが送るメールにも乗せたいのです。CGI-Bのなかのメールの雛型?の部分に
ここです↓
#メール内容
$body.="取得時間 : $adate\n";
$body.="ホスト : $ahost\n";
$body.="使用PC : $auag\n";
$body.="メール : $email\n";
$body.="内容 : $nowdate\n";

内容ってのはCGI-Bのメールフォームに書いてもらったことを表示します。でその上の4つなんですが、それがCGI-Aの変数で、これをCGI-Bのメールに一緒に送らせたいわけです。

そこで、CGI-Aの変数をCGI-Bに持ってくるにはどうするか、素人なりに考えて

#キリ番からの情報取得
require "./CGI-A.cgi";
とか考えて書いてみて、やったんですが、見事に失敗しました。どうすれば変数だけをわたせますか?教えてください。
不適切な表現とかありましたら勘弁してください。
補足など、待ってます。

他のご質問読んでもわからなくて笑
CGIの知識は、書いてあるとおりに設定を変えたりhtmlとか書き出すところの内容変えたり…いらないところに#を付けて、うごくかなぁってドキドキしている程度です(笑)わかりにく。

今回は、まず、キリ番のCGI-Aがあります。そのCGI-Aはキリ番GETしたら登録formが出てきます。登録があったらメールが管理人宛てにくるんです、その時、変数で、フォームで書いてもらった内容+その人の取ったカウント数・時間・エージェント・HOSTが、一緒に記載されてきます。
CGIではこんな...続きを読む

Aベストアンサー

#2です
>ごめんなさい・・・わかるようでまったくわかりません(笑)
のようですので、ピンとくるところがなかったようですね。
それにプログラムの修正個所を完全に書いた訳ではないでの
コピペしても全く動かないです。

で、別の方法です。
質問者さんのしたいことは、
 従来のcgi-aの処理のあと(メールを送った後)
 cgi-bでやっているメール送信も行いたい。
ですよね。

cgi-bの中で、実際にメールを送っている処理部分はどこか解りますか?
その部分をcgi-aに継ぎ足すのはどうでしょう。
当然、送る内容は変数から作っていますから
これにcgi-aの変数をコピーするなり、新たに値を設定してください。
 すなわち
 $body.="取得時間 : $adate\n";
 $body.="ホスト : $ahost\n";
 $body.="使用PC : $auag\n";
 $body.="メール : $email\n";
 $body.="内容 : $nowdate\n";
 の、$adateや、$ahostなどの変数のこと。

cgi-aに継ぎ足す際に、メールを送る処理以外を含めると
正しく動作しない可能性が高いです。
ですから、「この1行は何をしている?」がある程度
理解できないとやっぱり難しいです。

#2です
>ごめんなさい・・・わかるようでまったくわかりません(笑)
のようですので、ピンとくるところがなかったようですね。
それにプログラムの修正個所を完全に書いた訳ではないでの
コピペしても全く動かないです。

で、別の方法です。
質問者さんのしたいことは、
 従来のcgi-aの処理のあと(メールを送った後)
 cgi-bでやっているメール送信も行いたい。
ですよね。

cgi-bの中で、実際にメールを送っている処理部分はどこか解りますか?
その部分をcgi-aに継ぎ足すのはどうでしょう。
...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報