皆さん、みーでございます。
今回はインジケーターやサインツールにユーザー認証機能を付ける方法について説明します。
目次
ユーザー認証を行わないと危険!
インジケーターやサインツールを販売する際、誰でもが使える訳ではなく、予め指定されたユーザーのみが使用できるように制限を付ける方法となります。
皆様が頑張って作成したインジケーターやサインツールは、ユーザー認証を行わないと転売防止の危険が高まります。配布したex4ファイルの名前を変えて、簡単に転売されてしまいます。他の方の利益になるようなことは防止したいですよね。
そのためには、ユーザー認証は必ず実装しておきたいですね。
色々な手法がありますが、2つご紹介しますね。
ユーザー認証を実装する方法
インジケーターやサインツールに、ユーザー認証を実装する方法として、3つの方法をご紹介します。
方法①:ツール内部にユーザー認証埋め込む
これが一番簡単な方法です。予め、ツールに埋め込んでおいたユーザーID(AuthUserID)と、ツールのパラメータ(UserID)が一致した場合のみ処理させる方法です。
static const string AuthUserID = "MQL-MI"; input string UserID = "XXX"; bool isUserAuth(){ //--- 予め内部に埋め込んだユーザーIDと同じか判定 if(StringCompare(AuthUserID,UserID) == 0){ return(true); } return(false); }
この方法は簡単なのですが、配布するツールの内部にコードを埋め込む必要がありますので、かなり手間が発生します。
小規模の配布であれば問題ないかと思いますが、本格的な販売を視野に入れていらっしゃる場合には、やや不向きな方法です。
方法②:MT4の口座番号縛り
次にMT4の口座番号縛りです。
MT4の口座番号は、AccountNumber()と呼ばれる関数を取得することができます。取得した口座番号と予めプログラム内に埋め込んでおいた口座番号と一致するかを見る方法です。
// 使用する方のMT4口座番号 int acountNo = 000000000; int init(){ if( AccountNumber() != acountNo ){ Alert("User Authentication Failure!!"); return(INIT_FAILED); } return(INIT_SUCCEEDED); }
これも方法①と同様に、プラグラム内部にコードを組み込む必要があり、配布に手間が生じます。また、MT4はデモ口座で利用されている方が多いと思いますので、利用範囲(制限出来る範囲)が限定されるデメリットもあると思います。MT4に口座登録をされている方限定になりますからね。
方法③:mi_UserAuthのライブラリを使用する
これが一番オススメです。
それでは、「mi_UserAuth」をどのように利用するか説明します。「mi_UserAuth」は私が作成した認証ライブラリ(有料)です。認証ライブラリのI/Fは以下となります。
// mi_UserAuth のI/F #import "mi_UserAuth.ex4" // IN: domainStr // ドメイン名を指定します(XXX.com) ※利用申請にて事前に登録が必要 // // IN: authUrlStr // 認証情報があるファイルの場所です(https://XXX.com/UserAuth/UserAuth.txt // // 戻り値:認証情報のファイル内容 // string Mi_UserAuth(string domainStr,string authUrlStr); #import
mi_UserAuth の関数を呼び出す際には、ドメイン名と認証情報のファイルパスを指定します。戻り値として、認証情報のファイルパスで指定したファイルの内容を文字列で返却します。
この返却された文字列から、ユーザー認証を行います。
認証情報の中身は何でも良い(皆様が自由に設定可能)ということは、、、使用期限の判定や、最新Versionの管理など、色々な用途で使用可能です。これは、ツール販売をする開発者にとって、とても便利な機能です。
予め申請したドメインの範囲内に格納されている認証情報であれば、無制限で何ファイルでも利用可能です。サインツールを100種類販売する場合でも、100種類に応じた認証情報を管理することが可能です!
mi_UserAuthの使用方法は以下となります。
// mi_UserAuth の使用方法 bool isUserAuth(string userId){ string userAuth = Mi_UserAuth("XXX.com", "https://XXX.com/wp-content/uploads/XXX/UserAuth.txt"); if(userAuth == NULL){ return(false); } // ここで、userAuth の内容を元にユーザー認証や使用期限等のチェックをします。 // 以下はあくまで例 if(StringCompare(userAuth ,userId) == 0){ return(true); } return(false); }
// 例:https://XXX.com/wp-content/uploads/XXX/UserAuth.txt の内容 UserA,20220910,AAA@gmail.com UserB,20230911,BBB@gmail.com UserC,20240901,CCC@gmail.com
簡単に本格的なユーザー認証を実装することができます。しかも、認証情報はご利用の方が自由に作成できますので、色々な認証に使えます。
ツール販売をご検討の方には、必須の機能だと思いますので、ぜひ、「Mi_UserAuth」をご利用ください!
mi_UserAuthの利用料金
一般的には、ツールにユーザー認証を追加する場合、利用料金として数万の費用がかかります。月額料金の場合もあり、長期間使う場合に費用対効果が期待できません。また、認証するユーザーや範囲が制限されたり、ツールのバージョンや使用期限も一緒に管理したい場合に出来ない等、使用範囲が限定されます。
「Mi_UserAuth」はココナラから購入することが可能です。値段は1ドメインあたり「10,000円」の買い切りです。私の販売商品って全てお買い得なんですよね(笑)
mi_UserAuthの実例
私が開発した有料サインツール(mi_LineTrade_Signal)ですが、本ツールを使用してユーザー認証を実装しています。
上記は「mi_LineTrade_Signal」のパラメータ画面ですが、入力された認証ユーザーIDが認証情報のファイルの中に存在するかを判定しています。後は、バージョン情報も管理しており、アップデートされた場合には、アラートにて通知する機能も実装しています。
一番活用する方法ですが、ユーザー様にお試しで使って欲しい場合や、期間限定で使って欲しい場面があります。そうした場合は、予め認証情報のファイルの中に、”使用期限”を記載しておくことで、その使用期限が過ぎた場合にアラートを出す実装をすることで、ツールを修正することなく、使用期限のチェックが出来ます。
これらは、転売防止策として非常に有効な機能ですので、「mi_User_Auth」はツール販売には必須とも言えるライブラリです。
mi_UserAuth お試し2日間あり
まずは、購入前に2日間のお試しが可能ですので、以下の方法にて事前にご連絡ください。その後、ココナラよりご購入ください。
- 方法①:LINE@への登録
- 方法②:お問い合わせページ
- 方法③:ココナラからご連絡いただく【オススメ】
方法③のココナラが初めてという方は、ここをクリックすることで無料会員登録が出来ます。
ご連絡いただくメッセージですが、
【mi_UserAuth 無料お試し】
でお願いいたします。
※必ずドメイン名も一緒にご連絡ください。
お試し版のダウンロードURLを送付させていただきます。
mi_UserAuth ココナラより販売中
サインツール、インジケーターに認証機能がつきます ユーザー認証、使用期限/バージョン管理に最適!簡単に実装可能
コメントを残す