-
Notifications
You must be signed in to change notification settings - Fork 209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CORS関連のオプションを追加 #494
CORS関連のオプションを追加 #494
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR作成ありがとうございます!
PR説明文やオプション説明文もわかりやすくて助かります!
すみません、仕様をちゃんと定めていませんでした 🙇
何も指定せず起動するとapp://
のみが許可される形を考えていました!
理由は、サードパーティアプリがオプションを知らず起動する形を取っていても、セキュリティ的に問題ないようにしたいためです。
(リクエスト通さない形の方のデフォルト設定をその形にすれば良いのですが、CORS側も足並み揃えておくと綺麗かなーと。)
あと、localhost
と127.0.0.1
もデフォルト設定で許可しても良いのかなとちょっと思っています。(こちらのコメント参照)
もしよければPRの内容を変えていただくのをお願いしても良いでしょうか。
ご面倒でしたら一度マージ後にこちらでよしなに調整したいと思います・・・!
拝承。修正します。 |
修正しました。 簡単なテストを行ったので、結果を載せます。 Bashコマンド
デフォルトで許可される例
デフォルトで不許可になる例
許可しても問題ないが、仕様通り不許可になる例
|
正規表現のバックスラッシュをエスケープし忘れていました。 |
@ts-klassen @masinc さん |
pysen run format lintを実行しました。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
プルリクエストありがとうございました!!
あ、1行の文字数が多いことが原因でテストエラーが出てますね。オプションのあたりかな。
pythonはたしかこんな感じで複数行にできると思うので、良い感じに改行して頂ければ! (
"1行目"
"2行目"
) |
多分直ったと思います。 放送見ました! 「http://www.localhost:8080/home/index.cgi?arg=123#abc 」にアクセスした場合、オリジンは ちなみに、ブラウザで「http://localhost:50021/docs 」からリクエストを出しても、同一オリジンなのでCORSポリシーに関係なくすべて通ります。(試しに「http://www.localhost:50021/docs 」とか) |
@ts-klassen さん @Hiroshiba さん @ts-klassen さん |
@masinc さん WOAH!! VERY NICE CATCH!! その可能性は完全に見落としていました! 確か |
エディタ側からエンジンのCORS周りの起動オプションを提供する予定はありませんでした。 ちょっとピンと来てないのでお聞きしたいのですが、仮に |
仕様として許容するなら何ら問題はないと思います。 懸念があるとするならば、利用者が「すべてを許可する」という意味だと知らずに
|
@Hiroshiba さん
気軽に設定すべきでないという意味でも良いと思います! |
なるほどです、すごくよくわかりました!! それでもブログなどで PS. warnings.warnが使えると思います https://itasuke.hatenadiary.org/entry/20141122/p1 |
warnings.warnは開発者向けの警告らしく、ソースファイルと行数、該当するソースを印字するため、 Line 841 in f171643
と同様、標準エラーに出すようにしました。 上と統一して英語にしましたが、和文のほうが良ければ直します。 |
エラーはとりあえず英文で良いと思います! @masinc さん的にもOKそうであればマージしたいと思います! |
LGTM! |
マージします!! 一度ビルドしてみて、その成果物とともに公式ツイッターから案内し、デフォルト設定だとブラウザから通信ができなくなるのでご確認ください的なのを言ってみようかなと思います。 |
内容
force_cors_policyオプションでオリジン間リソース共有ポリシーを、app://.に限定します。
allow_originオプションで新たに許可するオリジンを指定します。
例
python run.py --force_cors_policy --allow_origin 'http://localhost:8080' 'http://example.com'
関連 Issue
ref #392
その他
デフォルトは今までどおりすべてのオリジンを許可します。
無関係なリクエストを弾くor 実行をキャンセルする機能は未実装です