2016-10-31 4 views
1

私のWebサーバーにpdfドキュメントをアップロードするコードでは、move_uploaded_fileを使用しました。ローカルユーザーがアップロードフォルダにアクセスしないようにする

move_uploaded_file($tmp_source, $destin) 

ただし、このコマンドは、私が777にアップロードフォルダへのアクセス権を与えない限り動作しません。私はそれを775にしようとしましたが、うまくいかないでしょう。私はpublic_htmlの上にアップロードフォルダを置くことによって、次のエラーメッセージ

failed to open stream: Permission denied in /srv/http/host1/public_html/internal/upload.php on line 82 

を取得

、私はブラウザ経由でそれらにアクセスすることから人々を防ぐことができますが、どのように私は、SSHを通じて、このフォルダにアクセスするローカルユーザを防ぐのですか?この質問に関連

+0

アップロードフォルダの所有者またはグループを 'www-data'に設定した場合、' 775'または '755'パーミッションが有効になります。 – Barmar

+0

@Barmar私のマシンにこのようなユーザーはいません。これは、Archのインストールです。 –

+0

Webサーバーを実行するユーザー名を使用します。 – Barmar

答えて

0

いくつかの答えは、アップロードフォルダが適切なアクセス権0755を与えられるべきである誰この情報は、私のために動作しませんでしたへのユーザーを見つけるために

ps aux | grep apache 

使用して提案しました。

ただし、正しい情報はヘッダーのphpinfo()にあります。それはhttpでした。

特に、ファイルタイプをpdfに制限し、.htaccessを設定してcgiを制限し、アップロードフォルダをpublic_htmlの外側に置いてブラウザからのアクセスを防止しました。

セキュリティ上の懸念事項はありません。