Форма PHP Записать в файл в https: //
Вопрос
У меня проблемы с получением формы PHP для записи в файл, размещенный в папке Apache HttpsDocs. Форма работает просто отлично, если все его части используют протокол HTTP, но когда я защищаю форму, подчинение формы и файл, который записаны результаты, она не удается.
Кто -нибудь может помочь?
Это код PHP:
$myFile = "files/data.txt";
$fh = fopen($myFile, 'a') or die ("Could not read file");
$stringData = "Data in pipe format\n";
fwrite($fh, $stringData);
fclose($fh);
header( 'Location: http://www.example.com/thankyou');
И различные места:
- /var/www/vhosts/example.com/httpdocs/files
- /var/www/vhosts/example.com/httpsdocs/files
Кроме того, моя страница формы https://example.com/form.php, и поля формы перенаправляет на action = "processform.php", так почему он ищет процессформы. Конечно, он должен оставаться в том же протоколе/каталоге, что и из них!
Спасибо за помощь :)
Решение
Вы сбиваете с толку вещи. URL -адреса не URL -адреса, они являются каталогами. Моя первая идея состоит в том, чтобы проверить права безопасного каталога ( # /var/www/vhosts/mysite.co.uk/httpsdocs/files), чтобы увидеть, сможет ли ваш пользователь Webserver написать там.
Другие советы
I Second Maarten, это определенно настройка разрешения в файле. У вас был файл? Это должно быть вашей единственной проблемой, однако этот тип подчинения очень небезопасен, даже если вы делаете это по HTTPS. Я бы сделал файл, который называется что -то вроде «Data.seced», затем вы можете использовать настройки разрешения Apache, чтобы «заблокировать» файл от внешнего доступа/чтения.
<files "*.secured">
order allow,deny
deny from all
</files>