IISでPHPを使用して画像をアップロードするときの権限の問題

StackOverflow https://stackoverflow.com/questions/622318

  •  05-07-2019
  •  | 
  •  

質問

Webサイトを新しいサーバーに移動しました。両方のサーバーは、IISをWebサーバーとして実行しているWindows Server 2003です。

画像をアップロードする場合、アップロードされたファイルには、NETWORK SERVICEアカウントに対する特定の権限が必要です。画像はPHPを使用してアップロードされ、その後、サイズ変更のためにmogrify.exeバイナリを使用してImageMagickによってフィルタリングされ、PHPによって作成された新しいフォルダーに配置されます。

私たちが直面している問題は、アップロードされたファイルは、フォルダは継承しますが、NETWORK SERVICEパーミッションを継承しないということです。

filemonを実行してエラーを確認し、次を取得しました:

mogrify.exe:6396 OPEN C:\ inetpub \ wwwroot \ example.com \ data \ 334480 \ test.jpgアクセスが拒否されましたNT AUTHORITY \ NETWORK SERVICE

NETWORK SERVICEアクセスが必要な理由は、ASP.NETスクリプトがオンザフライで画像のサイズを変更するためです。 Googleで検索しましたが、解決策が見つかりません。アイデアはありますか?

役に立ちましたか?

解決

問題を解決するために管理し、php.iniのアップロードtmp dirをC:\ Testに変更し、必要な権限をテストに付与しました。すでにこの変更を行っていましたが、さらに検査すると、phpでupload_tmp_dirが2回設定されます。 iniファイル。アップロードされたファイルは、一時ディレクトリの権限を継承します。

他のヒント

「ネットワークサービス」を確認してください。 ACLは、「このフォルダー、サブフォルダー、およびファイル」に適用されます。また、同じACLを使用して別の場所に新しいフォルダーを作成し、PHPで作成されたファイルが権限を継承するかどうかを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top