Minori-Akizuki / ddntj

playing TRPG online
GNU General Public License v3.0
25 stars 8 forks source link

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

Open Minori-Akizuki opened 7 years ago

Minori-Akizuki commented 7 years ago

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

Minori-Akizuki commented 7 years ago

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

Minori-Akizuki commented 7 years ago

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

daicyan commented 7 years ago

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

deflis commented 7 years ago

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

deflis commented 7 years ago

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

c6h4clch3 commented 7 years ago

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

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

Minori-Akizuki commented 7 years ago

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

daicyan commented 7 years ago

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

Minori-Akizuki commented 7 years ago

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

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

c6h4clch3 commented 7 years ago

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

deflis commented 7 years ago

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

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