Programming Tutorials

PHP file upload prompts authentication for anonymous users

By: Phil Ciebiera in PHP Tutorials on 2012-12-05  

On a Microsoft platform utilizing IIS, you may run into a situation where, upon moving the uploaded file, anonymous web users can't access the content without being prompted to authenticate first...

The reason for this is, the uploaded file will inherit the permissions of the directory specified in the directive upload_tmp_dir of php.ini. If this directive isn't set, the default of C:\Windows\Temp is used.

You can work around this by granting the IUSR_[server name] user read access to your temporary upload directory, so that after you move_uploaded_file the permissions will already be set properly.

It's also a good idea to set the Execute Permissions of the upload directory to NOT include Executables, for security reasons.

To accomplish this:

  • Open the IIS Manager
  • Browse to the relevant sites directory where the uploads will be placed
  • Right Click the folder and select Properties
  • In the Directory tab of the resulting dialog, set the Execute permissions to be None

This took me a while to figure out, so I hope this helps save some other peoples time.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in PHP )

PHP code to write to a CSV file from MySQL query

Different versions of PHP - History and evolution of PHP

PHP code to import from CSV file to MySQL

Encrypting files using GnuPG (GPG) via PHP

PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/php4/lib/php/extensions/no-debug ......

A Basic Example using PHP in AWS (Amazon Web Services)

Send push notifications using Expo tokens in PHP

Decrypting files using GnuPG (GPG) via PHP

Count occurrences of a character in a String in PHP

Error: Length parameter must be greater than 0

Password must include both numeric and alphabetic characters - Magento

Reading word by word from a file in PHP

Parent: child process exited with status 3221225477 -- Restarting

Convert a hex string into a 32-bit IEEE 754 float number in PHP

Exception in module wampmanager.exe at 000F15A0 in Windows 8

Latest Articles (in PHP)