WebDAV接続/PHPによる認証
-
13-09-2019 - |
質問
さて、PHPスクリプトはServeraに存在します。 ServeraにはPHPセーフモードがあり、WebDavがオフになっています。これらの要因のどちらも変更できません。 Servera上のスクリプトに、別のサーバーのユーザーのログイン/パスワードを取得したい場合があります。これをServerBと呼びます。 ServerBにはWebDavがあります。
最終的な目標は、ユーザーがServeraのスクリプトに移動し、ServerBの資格情報を入力し、スクリプトがICALファイルを作成してServerBに配置することです。 GoogleCalendarなど(ファイルがWebDavサーバー上にある必要があります)。
それで、私は試しました
fopen(servername/filename, r)
また、リモートサーバー上のファイルを読み取ることができました。しかし、私が試したとき
fopen(servername/filename, w)
HTTPラッパーが書くことをサポートしておらず、読書のみをサポートしていないというエラーがあります。
簡単に言えば、このサーバーに接続して認証し、ファイルを書き込み、PHPに既存のWebDavライブラリを使用せずに接続を閉じる方法はありますか?
ありがとう!
解決
問題は、PHPのHTTPプロトコルラッパーがPUTを使用しないことです。 FsockopenまたはできればCurlのようなものを使用して、独自に作成しようとする必要があります。
http://ca3.php.net/manual/en/wrappers.http.php
これはセーフモードとは何の関係もありません。
他のヒント
ここでの問題は、セーフモードがあなたを制限するように設計されているため、「安全な」ゾーンの外で物事を実行できないことです。
(できれば)試すことができるのは、 safe_mode_exec_dir
php.iniでは、ファイルの書き込みを行うことができる外部プログラムを開始できます(このセーフモードディレクトリに存在する場合
認証については、おそらく誰かがそれをより詳細に答えることができるかどうかはわかりません。