How can I prevent access to PHP files if the caller isn't using HTTPS?

https, php, web-services

Solution

Slightly off topic, but if you're using PHP with Apache Httpd and `mod_ssl`, you can force SSL access to files (and PHP scripts) by placing the `SSLRequireSSL` directive in `.htaccess` or in the Directory configuration.

Problem

I have written several PHP web services where I pass in arguments via the URL. To prevent unauthorized access, I pass in a unique key as one of the arguments. I call the PHP file via HTTPS, and I am wondering if there's a way I can prevent the script from running if HTTPS is not used.

Original source

Related problems