• 締切済み

何故?Forbidden

infoseek/iswebを利用している者です。 FFFTPを使用し、ASCIIモードでcgi-binフォルダに転送、 ブラウザ上からiswebのファイルマネージャーにアクセスし、 アップロードしたファイルを閲覧するとForbiddenエラーになります。 kent-webで配布されているperlのバグチェックのツールを使用すると SyntaxOK と出ています。 こういうようなプログラムです。 #!/usr/local/bin/perl use strict; my $hensu=100; if($hensu == 100){print "hensu = $hensu<br>\n";} my $hensu2 = 'aa'; my $hensu2_1 = $hensu2 + 1; print "hensu2 = $hensu2_1<br>\n"; my $hensu3 = '10A0'; my $hensu3_1 = $hensu3+1; print "hensu3_1 = $hensu3_1<br>\n"; 一体何がおかしいのか分かりません。 どなたか回答お願いします。

  • CGI
  • 回答数2
  • ありがとう数2

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

forbidden になるってのがよくわかりませんが、 拡張子は .cgi にしてますか? あと、ヘッダを出力してないのが気になります #が、別にこれはエラーになる類の問題じゃないよなあ iswebでCGIを利用しよう <後編>/魅せるホームページ作成講座/infoseek isweb http://iswebmag.hp.infoseek.co.jp/sample021.html > 編集が終了したCGIファイルは拡張子を「.cgi」にして保存しておきましょう。

chusinkun
質問者

補足

はい拡張子はCGIにしています。 またコピペミスがありました。すみません。Print "Content-type:text/html"; の記述がありました。

noname#77845
noname#77845
回答No.1

パーミッションは設定した?

chusinkun
質問者

お礼

はいしました。 777で試したり777で試したりしました。

関連するQ&A

  • シングルクォート、ダブルクォート使用方法

    初心者で勉強中です。 相当素人な質問なんですがよろしくお願いします。 Perlで使われる、シングル、ダブルクォートの自分の認識なのですが ・ダブルクォートは変数やエスケープ文字を評価してくれる。 ・シングルはそのまま文字列として出力される。 ということだと思っているのですがただ、『print』の後の表示させる文字列、数字などがシングルで囲まれていたりダブルだったり、またどちらも使わない場合などあるのですがこの使い分けはどのようにすれば良いかわかりません。 単に文字列の場合でもダブルクォートで囲っていたりと・・・ 以下の例ですと use strict; print "Content-type: text/html\n\n"; my $hensu = 1; print $hensu."<br>\n"; $hensu = "moji"; print "$hensu"; 上記をブラウザ出力すると 1 moji となるということなのですが、数字であればダブルクォートで囲まなくても展開されるということでしょうか?また後ろの2行の $hensu = "moji"; print "$hensu"; とは、どちらもダブルクォートで囲む必要があるのでしょうか。 法則性についてどなたか分かるかた、おしえていだだけますでしょうか。

    • ベストアンサー
    • Perl
  • for文の中でエラーが出てしまいます。

    Perl初心者で、1から勉強始めました。 質問ですが、 #!c:\perl\bin\perl -w use strict; print "Content-type: text/html\n\n"; my %data1 = ( 'id','ID001', 'name','たなか', 'birthday','1970/10/10' ); my %data2 = ( 'id','ID002', 'name','すずき', 'birthday','1972/03/21' ); my %person = (\%data1,\%data2); for (my $i=0; $i<@person; $i++) { my %row = %{$person[$i]}; print "$row{'id'}:$row{'name'}($row{'birthday'}生)<br>\n"; } テキスト通りにやっているつもりですが、のforの中でエラーが出てしまいます。見直してもどこが悪いか分かりません。誰かお暇な方教えてください。お願いします。

    • ベストアンサー
    • Perl
  • iswebライト(infoseek楽天の無料レンタルサーバー)のサーバーにCGIを設置したい

    はじめまして。 只今、ソシム社の【JavaScript&CGIレッスンブック】でCGIの勉強中です。 iswebライト(infoseek楽天の無料レンタルサーバー)のサーバーにCGIを設置するため、下記のCGIスクリプトをtext03.cgiというファイル名でFFFTPにてアップロードしました(アップロードしたのはtext03.cgiのみでindex.htmlはアップロードしていません )。 #!/usr/local/bin/perl print"Content-type:text/html\n\n"; $now=localtime(time); print"$now"; しかし、【呼び出されたURLの表示は拒否されました(403Forbidden)】と表示されます。エラー表示ページには下記(1)~(3)の注意書きがありますが、それぞれ適切な状態にしていると思います。 (1)iswebサイト以外からのCGI呼び出しは禁止されています。  →iswebライトの管理画面に表示されているURLをクリックして呼び出しています。 (2)ファイル、ディレクトリのパーミッションが不適切です。  →ソシム社のレッスンブックの通り、パーミッションを755にしています。 (3)CGIはcgi-binディレクトリに設置して下さい。  →FFFTP上でcgi-binフォルダを新規作成してtext03.cgiを中に入れました。 iswebのサーバーの仕様は下記の通りです。 どうしてもわからないので、解決方法を教えていただきたく、よろしくお願い致します。 ●サーバーの仕様に関する情報 インデクスの検索順 index.html, index.htm, index.shtml perlのパス /usr/local/bin/perl shのパス /usr/bin/sh UNIXコマンド 使用不可 sendmail /usr/lib/sendmail ※iswebベーシック(クレジットカードで登録された場合)のみ使用可 cgi実行ディレクトリ名 cgi-bin cgi対応拡張子 cgi ssi対応拡張子 shtml FTP接続 対応 TELNET接続 不可 FrontPage Server Extention 未対応(FTP接続をご利用ください) ※ cgiをご利用になる場合は、cgi-bin というディレクトリを領域内に新規作成してください。 CGIに関して以下のような制限を設けています。 状況 結果 infoseek.co.jpに作成したあなたのホームページからCGIを呼び出した場合 正常に表示されます URLを直接入力した場合 正常に表示されます infoseek.co.jp以外のホームページからCGIを呼び出した場合 403 Forbidden(アクセス権限がありません) ※iswebベーシックの場合は正常に表示されます ブックマークを利用した場合 古いブラウザでは403 Forbiddenと出る場合があります ※SSI(.shtml) を利用したコンテンツには広告表示タグは自動挿入されなくなります。 バナーが表示されない場合は以下のタグを使って手動でバナーを表示させてください。

    • ベストアンサー
    • CGI
  • perlのDigest::MD5;でのMD5算出が異なる

    perlのDigest::MD5;でのMD5算出が異なる 下記、スクリプトをレンタルサーバ上と、WindowsOS上で走らせてみたところ、おなじファイルにも関わらず、MD5が異なります。 何故でしょうか? #!/usr/local/bin/perl use strict; use warnings; use Digest::MD5; my $file = 'test.zip'; my $ctx = Digest::MD5->new; open my $fh, "<$file"; $ctx->addfile($fh); my $md5 = $ctx->hexdigest; close($fh); open my $fh2, ">>md5.txt"; print $fh2 "$file $md5\n"; print "$file $md5\n"; close $fh2;

    • ベストアンサー
    • Perl
  • 正規表現の書き方に困っております。

    あるSQLのダンプを変換するプログラムをPerlで書いているのですが、 うまく正規表現が書けなくて困っております。 データの途中に,が有ると、うまくいきません。 ''の中に囲まれた,は無視するという正規表現を書きたいのです。 また、'''B'も正しく処理できれば、完璧です。 #!/usr/bin/perl use strict; use warnings; #my $a = qq{'A','B',1}; --> うまくいく  ['A']['B'][1] #my $a = qq{'A,','B',1}; --> うまくいかない ['A] ['] ['] my $a = qq{',','''B',1}; --> もっとうまくいかない ['][']['] if($a =~ /(.+?),(.+?),(.+?)/){ print "[$1]\n"; print "[$2]\n"; print "[$3]\n"; }else{ print "ERR!\n"; } exit; __END__

    • ベストアンサー
    • Perl
  • iswebでクッキーが焼きたい

    Infoseekのiswebを借りています。 perlでcookieを焼こうと考えていますが パソコンの中のローカルサーバでは print "Set-Cookie: COO=****;"; で焼けるのですが、iswebに上げると cookieが焼けません。 プログラムの文法がおかしいのでしょうか、 iswebに何か特別なことがあるのでしょうか?

  • perlのcgiが文字化けします。

    perlを使ったcgiを作ろうと思い、こんなプログラムを書いてみたのですが、htmlのタグに囲まれた部分の日本語が文字化けしてしましいます。ファイルの文字列は上手く表示できるのですが… どうすればいいでしょうか。 文字コード判別をしてみたところ、このプログラム自体はShift-JISで書かれているようです。 開いているファイルはutf-8のようです。 #!/usr/bin/perl #ヘッダの表示 print "Content-Type: text/html; charset=utf-8\n\n"; print "<html>\n"; print "<head><title>掲示板</title></head>\n";#これが文字化け print "<body>\n"; print "<input type=\"text\" name=\"mail\" size=\"20\" value=\"\"><br>\n"; print "メッセージ<br>\n";#これも文字化け my $File = 'party0339.html'; if (-e $File) { #####@ファイルを開く…上でファイルが存在してることを確認して開けない場合はエラーメッセージ open(FF,"<:utf8",$File) or die "ファイル:$File を開けない $! \n"; my @FILE = <FF>; close (FF); ####@読み込んだデータを$Dataに格納する foreach (@FILE) { $Data = $_; print "$Data<br>\n"; } } #フッタの表示 print "</body>\n"; print "</html>\n"; exit (); 対策や原因などを教えてくださるとありがたいです。よろしくお願いします。

  • PerlをWinで使いたい。

    当方のパソコンのOSはWin XP SP2 です。 Perlの勉強を始めようと思いまして、 PerlがWinで使えるということなので、 Perl for Win32 Base Build 316 の日本語対応版をダウンロードしました。 C:\Perl\bin\フォルダの中のファイルは以下の通りです。 Jperl.exe Perl300.dll PerlGlob.exe XPerl.exe XPerlGlob.exe 別に中身が以下のようなtest.txtファイルを作りました。 $name = "KENT"; print "my name is $name", "\n"; print 'my name is $name', "\n"; それで、test.txtをJperlのアイコンにドラッグしました。 ms-dosの画面は出るのですが、何も表示されません。 お助け下さい。・・・m(_ _)m

  • CGIにおいて、エンコード・文字化けの対処方法

    以下のようにCGIを記述しております。(本日勉強したてで間違いだらけでしたら申し訳ございません。) ============= #!/usr/local/bin/perl print "Content-type: text/html; charset=EUC-JP\n"; print "\n"; print "<html>\n"; print "<title>Hello CGI</title>\n"; print "<body>\n"; print "<h1>Hello CGI!</h1>\n"; print "<hr>\n"; print qq( 上記のCGIファイルのメッセージは、次のように記述しました。<br><br> #!/usr/local/bin/perl<br><br> print "Content-type: text/html\\n";<br> print "\\n";<br> print "&lt;html&gt;\\n";<br> print "&lt;title&gt;Hello CGI&lt;/title&gt;\\n";<br> print "&lt;body&gt;\\n";<br> print "&lt;h1&gt;Hello CGI!&lt;/h1&gt;\\n";<br> print "&lt;/body&gt;";<br> print "&lt;/html&gt;";<br><br> ); print "</body>"; print "</html>"; =========== 以上をIE7で表示しますと、エンコードが西ヨーロッパ言語になって文字化けを起こしてしまいます。 何か記述の仕方が間違っているのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • パソコン → パャRン

    perlでパソコンと出力するとパャRンと表示されてしまいます。 エディターはwindowsのメモ帳で文字コードはANSIでファイルを作りました。 #!/usr/bin/perl print "Content-type: text/html;charset=Shift_JIS\n\n"; print "<HTML>"; print "<BODY>\n"; print "パソコン<BR>\n"; print "</BODY>\n"; print "<HTML>"; exit;

    • ベストアンサー
    • CGI

専門家に質問してみよう