バックエンドコード

こんにちは。

バックエンドでコードを実行する方法を探しています。

最終的な目標は、Maxmind APIを呼び出し、ケベック州外から来たユーザーを別のサイトにリダイレクトすることです。

この投稿を見つけ、これを実現するにはセルフホスト型のDiscourseを使用する必要があることを理解しました。

Proプランで私がやろうとしていることを行う方法はありますか?

よろしくお願いいたします。

Julien

答えはわかりませんが、そのような解決策については二度考えるべきです。Geo-IPは非常に信頼性が低いです。

プラグインを作成する必要があります。以下を参照してください。Developing Discourse Plugins - Part 1 - Create a basic plugin

API呼び出しは不要です。DiscourseにはMaxMind統合が標準で組み込まれており、プラグインからDiscourseIpInfo.get(ip)を呼び出すだけで済みます。

当社のホスティングをご利用の場合は、サポートにご連絡ください。Enterpriseプランではカスタムプラグインのお手伝いができます。

「いいね!」 3

それにはプラグインを作成する必要があります。「Discourse プラグインの開発 - パート 1 - 基本的なプラグインの作成」を参照してください: Developing Discourse Plugins - Part 1 - Create a basic plugin

しかし、そのプラグインを Discourse の SaaS バージョン (Pro プラン) で使用できますか?

API 呼び出しは不要です。Discourse には MaxMind の統合が標準で組み込まれており、プラグインから DiscourseIpInfo.get(ip) を呼び出すだけで済みます。

これは、カナダのケベック州のユーザーのみを対象とするのに十分正確ですか?見つけたほとんどの GeoIP サービスは、国の精度はありましたが、カナダの特定の州を対象にすることはできませんでした。

ホスティングをご利用の場合は、サポートにご連絡ください。Enterprise プランではカスタムプラグインの作成をお手伝いできます。

したがって、Standard プランでは不可能ということですか?Enterprise プランは、Pro プランの価格の少なくとも 3 倍になると推測します。

ここから判断するのは難しいですが、私のIPについてわかったことは次のとおりです。

=> {:country=>"United States",
 :country_code=>"US",
 :region=>"Tennessee",
 :city=>"Nashville",
 :latitude=>36.1315,
 :longitude=>-86.8019,
 :location=>"Nashville, Tennessee, United States",
 :geoname_ids=>[6255149, 6252001, 4644585, 4662168],
 :asn=>7922,
 :organization=>"COMCAST-7922"}

これには、多くの偽陽性または偽陰性の可能性があります。あなたがリダイレクトで解決しようとしている問題に対する最善の解決策は、他の何らかの方法です。

それは十分に正確に見えますが、多くのGeoIPサービスはカナダのIPよりもアメリカのIPの方が正確です。

100%肯定的または否定的である必要はありません。サービスはケベックの住民にのみ提供されているため、最初の防御策となります。

「いいね!」 1

完全なリダイレクトの代わりに、例えばフランス語ユーザーをリダイレクトしたい場合などに、テーマコンポーネントを使用できる可能性があります。これは、Localを使用して、フランス語話者向けの優先サイトでログイン画面にポップアップを生成できるかもしれません。

「いいね!」 1

サインアップ時にクリックしなければならない「ケベック州にいます」というユーザーカスタムフィールドを含めることをお勧めします。

プラグインが必要な場合は、お手伝いできるかもしれません。

「いいね!」 1

Locations プラグインに PR を歓迎します (サイト設定として)。ユーザーの場所を自動的に判断し、プロファイルに設定します。このモードでは、ユーザーが自分で変更できないように読み取り専用にすることができます (別の設定)。ただし、管理者が要求に応じて変更できる可能性があります。

さらに、ボーナスとして、全員を地図上で見ることができます :slight_smile:

当社のジオブロッキングプラグインのロジックを逆にし、特定の地域をブロックする代わりに、特定の地域を除くすべてをブロックすることができます。それほど難しくないはずです。1文字の編集でできる人にはボーナスポイントです。
[ネタバレ]ヒント:37行目![/ネタバレ]

または、Professionalプラン以上のcommuniteqでホストすることもできます。その場合、ユースケースに合わせてプラグインを拡張します。

「いいね!」 2