0

php://inputSabredav が PUT でそれに到達する前に 、フレームワークを使い果たします。

setBody() を呼び出しSabre\HTTP\Requestてフレームワーク ( http://kohanaframework.org )から渡すことができるようにする方法はあります php://inputか?

ハッキングを回避したい、Sabre\DAV\Serverおよび/またはSabre\HTTP\Request最善のアプローチが何であるかがわかりません。

フレームワークの「ラップされた」コードはこちら (Sabredav の例での server.php の実装)

https://github.com/chrisgo/kohana-sabredav/blob/master/classes/Kohana/Controller/Webdav.php


元の質問: SabreDAV + Nginx + PUT (0 バイトのファイルを作成)

4

1 に答える 1

1

最もクリーンな解決策は、プラグインを作成して PUT メソッドをインターセプトし、本体を sabredav が期待する場所に戻すことです。

public function httpPutInterceptor($method, $uri) {
    $this->server->httpRequest->setBody($this->body);
}

完全なモジュール: https://github.com/chrisgo/kohana-sabredav

...今、nginxがバイナリファイルPUTとテキストファイルで405を返す理由を理解する必要がありますPUT(正しい動作、PHPに渡します)

于 2013-12-20T06:08:57.110 に答える