このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新のリビジョン 両方とも次のリビジョン | ||
slim:4:cookbook [2020/10/09 10:51] y2sunlight [Uploading files using POST forms] |
slim:4:cookbook [2020/10/13 21:31] y2sunlight [Access-Control-Allow-Credentials] |
||
---|---|---|---|
行 22: | 行 22: | ||
----- | ----- | ||
- | ===== Trailing | + | ===== ルートパターンの末尾のスラッシュ(/) ===== |
- | Slim treats a URL pattern with a trailing slash as different to one without. That is, ''/ | + | Slimは、末尾にスラッシュがあるURLパターンを、無いものとは異なるものとして扱います。つまり、''/ |
For GET requests a permanent redirect is fine, but for other request methods like POST or PUT the browser will send the second request with the GET method. To avoid this you simply need to remove the trailing slash and pass the manipulated url to the next middleware. | For GET requests a permanent redirect is fine, but for other request methods like POST or PUT the browser will send the second request with the GET method. To avoid this you simply need to remove the trailing slash and pass the manipulated url to the next middleware. | ||
- | If you want to redirect/ | + | GETリクエストの場合、パーマネント(permanent)リダイレクトは問題ありませんが、POSTやPUTなどの他のリクエストメソッドの場合、ブラウザはGETメソッドを使用して2番目のリクエストを送信します。これを回避するには、単に、末尾のスラッシュを削除し、操作されたURLを次のミドルウェアに渡す必要があります。 |
- | Slimは、末尾にスラッシュがあるURLパターンを、ないものとは異なるものとして扱います。 つまり、''/ | + | ''/'' |
- | + | ||
- | GETリクエストの場合、永続的なリダイレクトは問題ありませんが、POSTやPUTなどの他のリクエストメソッドの場合、ブラウザはGETメソッドを使用して2番目のリクエストを送信します。 これを回避するには、末尾のスラッシュを削除し、操作されたURLを次のミドルウェアに渡す必要があります。 | + | |
- | + | ||
- | ''/'' | + | |
<code php> | <code php> | ||
行 73: | 行 69: | ||
</ | </ | ||
- | Alternatively, | + | あるいは、[[https:// |
- | + | ||
- | または、[[https:// | + | |
<code php> | <code php> | ||
行 85: | 行 79: | ||
\\ | \\ | ||
- | ===== Retrieving Current Route ===== | + | ===== 現在のルートの取得 |
- | + | ||
- | If you ever need to get access to the current route within your application, | + | |
アプリケーション内の現在のルートにアクセスする必要がある場合は、着信時の '' | アプリケーション内の現在のルートにアクセスする必要がある場合は、着信時の '' | ||
- | |||
- | From there you can get the route via $routeContext-> | ||
そこから、'' | そこから、'' | ||
- | Note: If you need to access the '' | + | 注:ルート(route)ハンドラーに到達する前にミドルウェアサイクル中に '' |
- | + | ||
- | 注:ルートハンドラーに到達する前にミドルウェアサイクル中に '' | + | |
- | + | ||
- | Example: | + | |
例: | 例: | ||
行 146: | 行 132: | ||
\\ | \\ | ||
- | ===== Setting up CORS ===== | + | ===== CORSの設定 |
- | CORS - Cross origin resource sharing | + | CORS - クロス オリジンリソース シェアリング(オリジン間リソース共有) |
- | A good flowchart for implementing | + | * CORSサポートを実装するための適切なフローチャートリファレンス: \\ [[https:// |
+ | * CORSサポートはここでテストできます:[[http:// | ||
+ | * ここで仕様を読むことができます:[[https:// | ||
- | CORS server flowchart | + | > 参考:https:// |
+ | ==== シンプル ソリューション ==== | ||
- | You can test your CORS Support here: http:// | + | 単純なCORSリクエストの場合、サーバーはレスポンスに次のヘッダーを追加するだけで済みます。 |
- | You can read the specification here: https:// | + | < |
- | + | ||
- | CORS-クロスオリジンリソースシェアリング | + | |
- | + | ||
- | CORSサポートを実装するための適切なフローチャートリファレンス: | + | |
- | + | ||
- | CORSサーバーのフローチャート | + | |
- | + | ||
- | CORSサポートはここでテストできます:http:// | + | |
- | + | ||
- | ここで仕様を読むことができます:https:// | + | |
- | ==== The simple solution ==== | + | |
- | + | ||
- | For simple CORS requests, the server only needs to add the following header to its response: | + | |
- | + | ||
- | 単純なCORSリクエストの場合、サーバーは応答に次のヘッダーを追加するだけで済みます。 | + | |
- | + | ||
- | < | + | |
Access-Control-Allow-Origin: | Access-Control-Allow-Origin: | ||
</ | </ | ||
行 179: | 行 151: | ||
The following code should enable lazy CORS. | The following code should enable lazy CORS. | ||
- | 次のコードは、レイジーCORSを有効にする必要があります。 | + | 次のコードは、Lazy CORS を有効にする必要があります。 |
<code php> | <code php> | ||
行 194: | 行 166: | ||
}); | }); | ||
</ | </ | ||
- | |||
- | Add the following route as the last route: | ||
最後のルートとして次のルートを追加します: | 最後のルートとして次のルートを追加します: | ||
行 215: | 行 185: | ||
==== Access-Control-Allow-Methods ==== | ==== Access-Control-Allow-Methods ==== | ||
- | |||
- | The following middleware can be used to query Slim’s router and get a list of methods a particular pattern implements. | ||
- | |||
- | Here is a complete example application: | ||
次のミドルウェアを使用して、Slimのルーターにクエリを実行し、特定のパターンが実装するメソッドのリストを取得できます。 | 次のミドルウェアを使用して、Slimのルーターにクエリを実行し、特定のパターンが実装するメソッドのリストを取得できます。 | ||
行 335: | 行 301: | ||
==== Access-Control-Allow-Credentials ==== | ==== Access-Control-Allow-Credentials ==== | ||
- | If the request contains credentials (cookies, authorization headers or TLS client certificates), | + | リクエストに資格情報(Cookie、承認ヘッダー、またはTLSクライアント証明書)が含まれている場合は、レスポンスオブジェクトに '' |
- | + | ||
- | 要求に資格情報(Cookie、承認ヘッダー、またはTLSクライアント証明書)が含まれている場合は、応答オブジェクトに '' | + | |
<code php> | <code php> |