• 締切済み

AddHandler のときの実行権の振り分け方法について?

http://jp2.php.net/manual/ja/security.cgi-bin.force-redirect.php Action php-script /cgi-bin/php AddHandler php-script .php を設定すると 読み込み許可だけで動作して 実行権に関係なく全部開くのですけど 実行権が無い場合とめるようにするにはどうすればいいのでしょうか? よろしくお願いします

みんなの回答

回答No.1

force-redirect の場合は多分無理です。この処理は /cgi-bin/php が該当ファイルを読むようにするものですので、読めるかぎりは動きます。 逆に言うと『読めなければ動きません』ので /cgi-bin/php の実行ユーザ(通常は Web サーバの実行ユーザ)に読めないモードを設定する、という方法はあると思います。

noname#21216
質問者

補足

1・読み込み属性のみで反応 2・存在しない名称でも反応 の2つを解決したいので なにか方法がないかなぁと思いまして。 2のときにエラーページにとばせれば ひとまずいいのですけど。。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • HTMLからのpl実行

    htmlのタグに下記のように記述し(test.html) <FORM METHOD="POST" ACTION="http://192.168.100.100:8080/cgi-bin/test.pl"> cgi-binにあるtest.plを実行したいのですが、 test.plのコードの中身がブラウザに表示されてしまいます。 httpd.confの設定は下記のように設定してあり、 権限もtest.pl,test.htmlともに755で設定しています。 ** ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" <Directory "/usr/local/apache/cgi-bin/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi .pl .rb

    • ベストアンサー
    • CGI
  • 実行ユーザー切り替え方法

    質問させていただきます。 require関数にてあるURLを表示させるスクリプトがあります。 ======= <?php require("http://www.aaa.com/~usrname/bbb/ccc/ddd.php"); ?> ======= このphpスクリプトを上記URL内にあるusrnameとは異なるユーザー(eeee)にて実行したいのです。 上記URL(http://www.aaa.com/~usrname/bbb/ccc/ddd.php)ファイルの所有者はusrnameであり、パーミッションは777にしています。bbb及びcccディレクトリのパーミッションは755にしています。 それでも現状は上記require関数の行で403エラーが表示されます。 レンタルサーバーのため、root権限は無いのでusrnameディレクトリのパーミッションは750で変更できません。 そこでこのeeeeユーザーで実行されるスクリプトの実行ユーザーを切り替える方法が何かあれば教えていただきたいのです。 PHP4.3.2でphpinfo()のConfigureCommandにて--enable-force-cgi-redirect、--enable-ftp等追加されています。 もし他のやり方で希望どおりの動き(eeeeユーザーにて上記URLを表示させる)が出来るならそれもアドバイスいただきたいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • cgi-binでしかcgiを実行できない環境で…

    現在稼働しているコンテンツを 独自ドメインにしようと思い、 WebARENAを借りたのですが、 今時(?)cgi-binでしかcgiを実行できない設定でした。 現在のコンテンツは、 (ドメイン名)/example.php?id=123 のように、idをgetで渡す、 レンタル型のコンテンツなのですが、 これを (ドメイン名)/cgi-bin/example.cgi?id=123 のように、長いアドレスにしたくありません。 そもそもアドレスを短く、分かりやすくするために 独自ドメインを取ったものですから…。 Redirectでcgi-binに飛ばしてみたりしたのですが、 その場合引数はカットされるようです。 なんとかして、cgi-binを入れないアドレスが 使えるようにできないでしょうか?

  • PerlのCGIとPHPを

     特定のディレクトリのCGIの中にPHP(Apacheのモジュール版)を書き、(CGIで<?php~?>とHTMLを出力させる)Perl/CGIを実行したときにその出力の中に含まれるPHPを実行させたくて、.htaccessに AddHandler application/x-httpd-php cgi AddHandler cgi-script .cgi を書いたのですが、どうやらPHPのAddHandlerの後に書かれているCGIの方が優先され、PHPが実行されず、CGIのみが実行されます。  順序を逆に書いても、今度はPHPが優先されてしまい、どちらか片方しか実行されません。  どうすれば、両方同時に実行させられるでしょうか、教えてください。  それが不可能ならば、とりあえずPerl/CGIからPHPを呼び出して先に実行させるようなことができるのならば教えてください。  ちなみに、httpd.confには拡張子cgiをすべてのディレクトリでCGIとして実行、拡張子phpもすべてのディレクトリでPHPとして実行させるようにAddHandlerされています。 Apache/2.0.58(Windows版) PHP/5.1.6 CGI: ActivePerl 5.88 です。

    • ベストアンサー
    • PHP
  • Perlを実行する方法

    Perlを実行するために <?php $ret = exec('/usr/bin/php /usr/local/apache/public_html1/testdir/a.cgi'); print $ret; ?> のように書きましたが、a.cgiは実行されないし$retは空白でした。 execでなくてもよいのですが、普通はPHPの実行中に、ある処理をさせるa.cgiを実行させるにはどうしているんでしょうか? a.cgiの処理が終わるまでphpのprint $ret;のステートメントの実行は待ち状態で、a.cgiの処理結果がTRUEなのかFALSEなのかを得られればさらによいです。

    • 締切済み
    • PHP
  • PHPをCGIとして実行する方法

    PHPをCGIとして実行する方法 現在PHP(モジュール版)にて開発を行っているのですが、 仕様上.htaccessを使用してcgi-binディレクトリ内にあるphpファイルをCGIとして 実行しなければならなくなりました。 下記の記述方法だと500エラーが発生してしまい、大変困っています。 <Directory "/usr/~(任意のcgi-binディレクトリのフルパス)~/cgi-bin"> AddType application/x-httpd-cgi .php </Directory> 因みに.htaccessはcgi-binディレクトリの1階層上に設置しています。 単に「AddType application/x-httpd-cgi .php」を記述する分には誤作動は起さないのですが、出来れば指定のディレクトリ内だけで指定したいと考えています。 もし思い当たる点がありましたら、ご教授お願い致します。 下記に環境を記しておきます。 【環境情報】 OS:FreeBSD 6.2(レンタルサーバ) PHP:5.2.4

    • ベストアンサー
    • PHP
  • apacheでcgi

    AddHandler cgi-script .cgiを有効にして.htaccess の中にOptions +ExecCGIAllを記述してhttpd.confのowOverride Options としてcgiを実行しようとしたら下記エラーになりました。 [Thu Nov 15 11:16:54 2001] [error] (13)許可がありません: exec of /home/jin/WWW/cgi-bin/tslbbs.cgi failed [Thu Nov 15 11:16:54 2001] [error] [client 192.168.0.9] Premature end of script headers: /home/jin/WWW/cgi-bin/tslbbs.cgi それで、 #AddHandler cgi-script .cgi として、 <Directory /home/*/WWW> Options ExecCGI </Directory> にしたら cgiのソースが見えてしまいます。 cgiのPermissionsは755になっております。 ScriptAliasで/cgi-bin/ /home/*/WWW/cgi-bin/を記述してOptions ExecCGIにしてもソースが見えてしまいます。 cgiを実行させるのにはどうすればいいのでしょうか?? (以前Linuxを良くわからないときに(今でも解っていませんが・・)同じような質問をここに挙げてその時は単純な自分の間違いで動かなかったのですが単純なソースのミスでした。それで今度はLinuxをインストールをしなおしたら動かなくなったのです。 http://apachetoday.com/news_story.php3?ltsn=2000-06-05-001-10-NW-LF-SW 等覗いてそれをやっても動かないのです。 多分単純なことなのかもしれませんが行き詰まって困っております。 昨日の質問でユーザーのHTMLが見れないのはURLの指定で最後に'/'をつければ問題なく見れました。今はイントラネットでLinuxを動かしているのですが、実際のインターネットでは最後の/は入れたり入れなかったりでも問題なく見れるのですが、正しくは最後に/を入れるみたいですね。)

  • sudoでシェルスクリプトを実行させたい

    /usr/bin/sudo を使って、xxx.shを実行させたいので、設定でxxx.shを許可しました。 その後Apacheで動くCGI(perlスクリプト)から、``を使って実行させようと考えています。 このときにこのxxx.shがうまく動きません。多分シェルにアクセスできないのだと思いますが、どうしたらこのスクリプトをroot権限で動かす事ができるようになるのでしょうか。関係あるかどうかわかりませんが、xxx.shの中身はディレクトリ作成コマンドなどです。ネットで検索したら、シェルスクリプトだけ許可にすればよいとあったのですが・・。セキュリティ的には/bin/shを許可するのはまずそうな気がするのですが、こちらを許可してもよいものでしょうか。 環境等 xxx.sh 755 所有者(user1) Apache実行ユーザ (apache) CGIの実行ユーザ(apache?) 挑戦したコマンド(とアパッチのログ) `/usr/bin/sudo sh ./xxx.sh`; ->パスワード求められます (/bin/shの権限がない?) `/usr/bin/sudo ./xxx.sh`; ->/usr/bin/sudo: unable to exec ファイルのパス No such file or directory (xxx.shのファイルの場所はあってます) `/usr/bin/sudo フルパス/xxx.sh`; ->/usr/bin/sudo: unable to exec ファイルのパス No such file or directory (xxx.shのファイルの場所はあってます) 不足の点などあればご指摘ください。

  • 拡張子をphpではなくcgiで実行する方法

    添付つき送信フォームを、test.htmlからsend.phpを <form method="post" action="test/send.php"> で定義して実験成功しました。 このphp拡張子をcgiに変更して <form method="post" action="test/send.cgi"> ファイル名も変更しましたが、エラーになります。 ルートディレクトリ - test.html           - testフォルダ - send.cgi Apacheのhttpd.confの設定は下記サイトの 「Windows XPでPHPを動作させてみよう!」のCGIの設定です。 http://aki.adam.ne.jp/index.php 拡張子cgiで実行する手段を宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 【apache】httpd.confのAddHandlerについて

    掲示板利用させていただきます。 apacheとphpの連携を行う際、httpd.confのAddHandlerを以下のように設定すると、httpでphpを呼び出した際、以下のエラーがでます。 ●設定内容 AddHandler cgi-script .cgi .php ●エラー内容 Premature end of script headers 以下のように設定し直すと、正常に利用できるようになります。 ●設定内容 AddHandler cgi-script .cgi phpとcgiはイコールだと思っていたのですが、違うのでしょうか?? どなたかご教示ください。 よろしくお願いします。

別れたいのに決心がつかない
このQ&Aのポイント
  • 同棲して丸4年経って別れようか中々決心がつきません。
  • 彼との関係はどうやって解消すればいいのか迷っています。
  • 私の結婚願望と彼の結婚意向の違いも悩みの一つです。
回答を見る