問題タブ [verification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2231 参照

indexing - 年齢確認と Google インデックス登録の組み合わせ

スパイダーは一般的に JavaScript を実行しないため、年齢確認が必要な Web サイトのコンテンツを正常にインデックス化するために、以下のオプションのいずれかを使用することを考えています。

私の好みの解決策:

Cookie ' ageverification' をチェックしています。存在しない場合は、JavaScript を追加してユーザーを ~/verifyage.aspx にリダイレクトします。これにより、必要な Cookie が追加され、ユーザーが前のページにリダイレクトされます。

別の解決策:

上記と同様ですが、ユーザーをリダイレクトしません。代わりに、Cookie が存在しない場合は、既存のページの「上に」年齢確認フォームを描画します。

別の解決策:

クローラーがたどることができる「はい、私は 18 歳以上です」というアンカー リンクを追加します。私はこれの合法性について少し懐疑的です。

洞察やアイデアは大歓迎です。

0 投票する
6 に答える
255 参照

.net - アセンブリをハッカーから保護する

アセンブリ A を参照するコンソール アプリケーションがあります。A.dll が改ざんまたは置き換えられた場合に、アプリケーションが実行されないようにしたいと考えています。

1 つのオプションは、厳密な名前の署名を使用することです。しかし、厳密な名前のバイパスについて心配する必要はありますか?

他に良いオプションはありますか?

0 投票する
3 に答える
980 参照

c++ - C++ での USB シリアル検証

サードパーティに送信する予定の DLL があり、特定の USB デバイスが接続されている場合にのみ実行するように制限して保護したいと考えています。setupapi を使用してデバイスのシリアル番号を取得しています (SetupDiGetDeviceInstanceId() を呼び出して)。

誰かが DLL を逆アセンブルした場合に備えて、検証を追跡しにくくしたいと考えています。たとえば、SetupDiGetDeviceInstanceId への単純な呼び出しは追跡可能であり、誰かが USB からの適切なシリアルなしで私の DLL を使用したい場合、彼はアセンブリ コードで私の strcmp を簡単に探してif(strcmp(...) == 0)if(strcmp(...) == 1).

私のコードをリバースエンジニアリングから保護するための良い(そしてできれば「簡単な」)アプローチは何でしょうか? それを処理する別の API (setupapi 以外) を使用できますか?

前もって感謝します!

0 投票する
3 に答える
1432 参照

java - バイトコードとオブジェクトの説明

私はバイトコードインストルメンテーションを書いています。今、私はオブジェクトの存在下でそれを行う方法を見つけようとしています。JVMS(セクション4.9.4)で読んだ2行についていくつか説明したいのですが。

1)「ベリファイアは、初期化される前に新しいオブジェクトを使用するコードを拒否します。」

私の質問は、ここで「使用」とはどういう意味ですか?私はそれが意味していると推測しています:それをメソッド属性として渡すか、それを呼び出しGETFIELDPUTFIELD、またはそれに対して任意のインスタンスメソッドを呼び出します。他の禁止されている使用法はありますか?そして、、、などDUPの他の指示に従うことは許可されていると思います。LOADSTORE

2)「そのメソッドがmyClassの別のインスタンス初期化メソッドまたはこれに対する直接のスーパークラスを呼び出す前に、メソッドがこれに対して実行できる唯一の操作は、myClass内で宣言されたフィールドを割り当てることです。」

つまり、<init>メソッドでは、GETFIELDとPUTFIELDは、別のメソッド<init>が呼び出される前に許可されます。ただし、Javaでは、を呼び出す前にインスタンスフィールドで操作を実行すると、コンパイルエラーが発生しますsuper()this()誰かがこれを明確にすることができますか?

3)もう1つ質問があります。オブジェクト参照はいつ初期化され、自由に使用できるようになりますか?JVMSを読んだところ、オブジェクトが初期化されるかどうかは、各メソッド次第であるという答えを思いつきました。ある時点で、オブジェクトはメソッドに対して初期化できますが、他のメソッドに対しては初期化できません。具体的には、オブジェクトは、<init>そのメソッドが返すときに呼び出されると、そのメソッドに対して初期化されます。

たとえば、main()メソッドがオブジェクトを作成して呼び出し、そのオブジェクト<init>がスーパークラスのを呼び出したとします<init>。から戻った後super()、オブジェクトはによって初期化されたと見なされますが<init>、まだ初期化されていませんmain()<init>これは、の後super()に、main()に戻る前であっても、オブジェクトをパラメーターとしてメソッドに渡すことができることを意味しますか?

誰かがこの分析全体が真実であることを確認できますか?お時間をいただきありがとうございます。

ps:私は実際に同じ質問をSunフォーラムに投稿しましたが、回答はあります。ここでもっと運が良ければいいのにと思います。ありがとうございました。

アップデート

まずはご回答とお時間をいただきありがとうございます。明確な答えは得られませんでしたが(多くの質問があり、そのうちのいくつかは少し曖昧でした)、あなたの答えと例、およびその後の実験は、JVMがどのように機能するかをより深く理解するのに非常に役立ちました。

私が発見した主なことは、Verifierの動作が実装やバージョンによって異なることです(これにより、バイトコード操作の作業がはるかに複雑になります)。問題は、JVMに準拠していないか、検証者の開発者からのドキュメントが不足しているか、またはJVMが検証者の領域に微妙なあいまいさを持っていることにあります。

最後にもう1つ、SO Rocks !!! 同じ質問を公式のSunJVM仕様フォーラムに投稿しましたが、今まで答えがありませんでした。

0 投票する
1 に答える
1151 参照

hardware - VHDLモニターをPSLアサーションに変換する

PSLアサーションについて興味深い質問があります。これがVHDLモニタープロセスです。これはアサーション専用のプロセスであるため、合成できないプロセスです。input1このモニターは、現在のFSM状態をチェックし、「 」と「」の2つのレジスターの値を保管しますreg136assert最後に、これらのレジスタの値を比較するために""ステートメントをトリガーします。

質問は次のとおりです。このモニターをPSL(プロパティ仕様言語)アサーションに変換する方法はありますか?

重要:レジスタ「input1」と「reg136」は、fsm状態がそれぞれ状態s0とs22にある場合にのみ読み取ることができます。それ以外の場合、これらのレジスタに含まれるデータは、アサートされた変数「a」および「t34」に属しません。結果として、PSLステートメントは正しいfsm状態の値を読み取って保存する方法を必要とします。

ありがとうございました !

0 投票する
2 に答える
1678 参照

authentication - Codeigniter IonAuth ライブラリ - グループ メンバーがログインした後にリダイレクトする

Codeigniter アプリで IonAuth を使用してインストールしました。

3 つのユーザー グループをセットアップしました。

管理者
メンバー
メディア パートナー

各ユーザー グループをホームページではなく、独自のダッシュボード エリアにリダイレクトすることは可能でしょうか?

例えば

管理者がログインするとリダイレクトされる =>/admin/dashboard/
メンバーがログインするとリダイレクトされる =>/users/dashboard/
メディア パートナーがログインするとリダイレクトされる =>/media-info/dashboard/

認証コントローラーでこれを行うにはどうすればよいですか?

ありがとう、ダン

0 投票する
2 に答える
78 参照

svn - Subversion で、すべてが正常にリポジトリにロードされたことを確認するにはどうすればよいですか?

Subversion リポジトリを持っていますが、本当に必要なものがすべて揃っているかどうかを確認するにはどうすればよいですか?

ファイルとフォルダーの数は、Working Folder と、リポジトリの作成に使用した元のフォルダーとの間で大きく異なります。各リポジトリ フォルダー内の .svn フォルダーの内容を考慮してもです。(それらがすべて同じであると仮定すると、有効ではない可能性があります。)別のサーバーで作成したサンドボックスの「練習」リポジトリとも一致しません。

私は Subversion を使い始めたばかりなので、まだディスプレイに保護用のプラスチック製のタブが付いています。マニュアルまたはこのサイトでこれに関するものを見つけることができませんでした。

インポートとコミットはすべて「完了」などと表示され、エラーはありません(現時点では)が、すべてがそこにあることを完全に確認する方法を見つけたいと思います。30,000 以上のファイルに 1.6 ギガ以上のデータがあるので、2 つのリストを比較したり、目で追ったりしたくありません。

0 投票する
1 に答える
236 参照

winapi - PKI による軽量ファイル検証

オンライン ゲームのレガシー コードを拡張して、ゲームに関連付けられたリソース ファイルが最新バージョンであり、改ざんされていないことを合理的に保証しようとしています。DRM なしで、カーネル モードに入らず、ハードウェアの支援なしでこれを実行したいと考えています。私が最終的に決めたのは、理想的には、ユーザー空間が得られるのと同じくらい安全であるべきです. 彼らがこれらのメカニズムを回避できれば、私は彼らがいたずらをする権利を獲得したと思います.少なくともしばらくの間、私たちはそれらを禁止します. :)

当然行うべきことは、各ファイルの暗号化ハッシュを取得し、ハッシュ出力を事前に計算されたハッシュと比較することです。ただし、現在計算されているハッシュとの比較に使用される、事前に計算されたハッシュをユーザーが簡単に改ざんできないように注意する必要があります。アーキテクチャレベルで私が念頭に置いていた対策は次のとおりです。

  1. OS 機能を使用して、プロセスの開始時にすべてのリソース ファイルを書き込み用にロックし、後で他のプロセスがファイルを上書きできないようにします。
  2. 各リソース ファイルの MD5 合計を計算します。
  3. https サーバーに接続し、クライアントの実行可能ファイルに格納されている特定の署名付き証明書に対する検証を要求します。
  4. 「正しい」ハッシュを含むファイルを https 経由でダウンロードし、(ディスクではなく) RAM に保存します。
  5. 計算されたハッシュを https 経由で受信したハッシュと比較します。
  6. ハッシュが一致しない場合は終了します。

これは、ハッシュをクライアント側に保存するよりも安全です。ハッシュがクライアント側に保存されている限り、通常は誰かがハッシュを変更できるからです。このスキームを使用する場合、攻撃者は、組み込みの公開証明書を変更して、実際に攻撃者の証明書が含まれるように実行可能ファイルを変更する方法を見つけ出す必要があります。これにより、攻撃者の証明書と一致する汚染されたハッシュを含む攻撃者の https Web サーバーに対して検証されます。改ざんされたリソース ファイル。これは確かに実現可能ですが、プログラムがクライアントに保存されている事前計算されたキーを使用している場合よりもはるかに困難ですよね?

実行可能ファイルはネイティブ コードであるため、バイナリを編集して公開キーを置き換えることをさらに困難にするパッカーでラップすることが可能になる場合があります。

さて、2 段落前に、私が考案したスキームを潜在的に攻撃する方法を説明したばかりですが、私が説明した方法以外に、このスキームを攻撃する方法はありますか?

2 番目の質問は、これらのタスクを実行するために Win32 C++ (Visual Studio 2010 コンパイラ) から呼び出すことができる無料の (フリーウェアまたはフリーダムのような) ライブラリとは何ですか? 組み込みの Windows API で実行できますか、それともサード パーティのソリューションが必要ですか?

要約すると、質問は次のとおりです。2. それを実装するためにどの依存関係またはライブラリを使用しますか?

これは単なるゲームであり、国家安全保障や金銭的リスクの問題ではありません (ゲームは 100% フリーウェアであり、ゲーム内経済はありません)。 -力。

私の質問の一方または両方の部分に自由に答えてください。そもそも私が間違った質問をしていると思われる場合は、訂正してください。

ありがとう!

0 投票する
2 に答える
490 参照

java - Java、電子メールの送信:有効なホストが電子メールアドレスで提供されているかどうかを確認します

当社のウェブサイトは、ユーザーが当社のウェブサイトに入力した電子メールアドレスに電子メールを送信します。ごみのメールアドレスを入力する人もいます。少なくとも入力されたアドレスのホストが有効なものであるかどうかをどのように確認できますか?入力したホストのポート25でソケットを開こうとしているだけですか?

更新: DNS関連のJavaライブラリを見つけました。どのレコードを確認する必要がありますか?

0 投票する
1 に答える
333 参照

drupal - トークン メール アクションに基づくメール検証

おはようございます、私は新しいコンテンツ タイプ - 嘆願書を作成しました。最後のステップは、証明するリンクを送信するか、請願書から削除することによって、メール アドレスを確認する必要があります。

ある種の一意のリンクを取得する必要があり、それをトークン化されたアクション メールとして、フォームで提供されたメール アカウントに送信します。トークン化されたリンクは、メールアドレスを有効に設定し、投稿を非公開にすることもできます。

私はここで少し必死です。一般的な指示をいただければ幸いです。