ddntj icon indicating copy to clipboard operation
ddntj copied to clipboard

httpsサーバに乗せるとシステム一覧が取得できない

Open Minori-Akizuki opened this issue 7 years ago • 11 comments

bcdice-api を外部に投げており、それがhttpなのが原因。こいつも一緒に立てる必要がある。

Minori-Akizuki avatar Aug 16 '17 10:08 Minori-Akizuki

で、クエリの投げ先を変数にして追い出す必要がある。

Minori-Akizuki avatar Aug 16 '17 10:08 Minori-Akizuki

それかサーバ側からシステム一覧を取得する。ダイス振るのはサーバからだし、その方が統一感ある?

Minori-Akizuki avatar Aug 16 '17 10:08 Minori-Akizuki

クライアントで取得だと結果を頑張れば偽装できちゃうのでサーバーから投げるほうに一票。 HTTPS対応版のAPIサーバーを用意することもできますが、どっちにしろ別ドメインのデータを取得するのはクロスサイトスクリプティング攻撃の穴になりやすいので個人的には辞めたほうが良いと思います。

daicyan avatar Aug 16 '17 11:08 daicyan

bcdiceをjavascriptに移植してクライアントサイドなりに押し込められないですかね?

deflis avatar Aug 16 '17 15:08 deflis

他の案としては、CORS制約をちゃんと設定してやるとか、同じHTTPSサーバ内に共存させるというのが良いかと思います。

deflis avatar Aug 16 '17 15:08 deflis

個人的にはダイスボットはサーバ側で実装がいいと思います。 ロール結果メッセージをサーバ側から発行すれば結果の改ざん、 サーバ負荷の両方ケアできますし。

各々で立てたサーバ内で処理が完結したほうがいいと思うのです。

c6h4clch3 avatar Aug 22 '17 03:08 c6h4clch3

サーバ内に立てるのが一番ですかね。いま公式鯖のところにAPI投げちゃってますが、単体でたててローカルホストにAPI投げるようにすれば一元化できそうですし。ちょっとその方向性で考えてみます。

Minori-Akizuki avatar Aug 23 '17 13:08 Minori-Akizuki

公式鯖にHTTPS版APIサーバー建てました。 https://www.taruki.com/bcdice-api/v1/

daicyan avatar Aug 23 '17 13:08 daicyan

公式鯖にHTTPS版APIサーバー建てました。

うわぁありがとうございます……!! まさかの公式鯖でHTTPS対応! なんか申し訳ないです(´・ω・`) 一旦向き先をそちらにして対処します。

Minori-Akizuki avatar Aug 24 '17 04:08 Minori-Akizuki

https://github.com/ukatama/bcdice-js こちらでBCDiceのnpmモジュール化進めてらっしゃるみたいですし、 こういった感じのが使えればいいんですけどねー

c6h4clch3 avatar Aug 24 '17 05:08 c6h4clch3

おお、BCDiceをOpalで動かすプロジェクトあるんですね。 これを同じサーバで動かせば良さそうな気がします。

BCDice-APIの呼び出し方法がJSONPになってるのが個人的にはかなりアレだなと思うので、 できれば Access-Control-Allow-Origin: * ヘッダを付けてもらってクロスドメインでAJAXアクセス出来るようにしたほうが良いと思います。詳しくはこの辺のMDNを参照してもらえれば… (アイマストドン関連とかで忙しくなければこの辺への貢献もう少し出来るのですが…。申し訳ありません。)

deflis avatar Aug 24 '17 06:08 deflis