2016-06-14 3 views
4

私はGame in Unityを作っています。これには、多くの公的なものと私的なものがあります。私はゲームが安全であることを望んでいたので、ユニティ資産ストアhttps://www.assetstore.unity3d.com/en/#!/content/10395からアンチチートツールキットを購入しました。私の質問は安全なプライベート変数が必要ですか?はいの場合、プライベート変数の使用は何ですか?彼らはどのような利点を持っていますか?ゲームを作る - セキュア変数の利点は何ですか?

+2

公的変数と私的変数の違いを読んだことはありますか?多分C#のチュートリアルを読んでもよろしいですか? –

+0

それは....この質問はupvotesを持っている野生です!どのような世界。 – Fattie

+0

ゲームに「セキュリティ」が必要な場合は、有名なAnti-Cheat-Tool-Kitをアセットストアから入手する必要があります。それは「誰もが使うもの」の1つです - それはどこにでもあります。あなたは、難読化の難しさなどのためにセキュリティなしでゲームをすることはできません。それを行うためにコードを書くのは全く無意味です。みんなACTKを使用しています – Fattie

答えて

10

私はプライベート変数を確保する必要がありますか?

いいえ、パブリック変数とプライベート変数の両方に同じセキュリティ防御があります(セキュリティ保護はありません)。攻撃者が公開の変数を表示または変更できる場合は、変数を表示または変更できます。

アクセス修飾子は、プログラマの利便性とアーキテクチャ上の意思決定に役立ちます。

2

プライベートとパブリック識別子は、セキュリティとは何の関係もないのではなく、メソッド/変数/何の可視性/接近。

プライベートvarが、この変数は、そのクラスによってのみ使用され、/触れどこにもアクセスしてはならないことを開発者に伝達します。

公共varは変数がどこか別の場所にアクセスし、コードベースの部分への機能に変数事項の値/ユーザ

0

変数の状態を、官民のいずれかまたは保護されていることを通信し、唯一誰することができます決定変数の中の情報にアクセスしたり、(関数のために)特定のアクションを実行できる人がいます。 また、プライベート変数には、そのクラスを含むクラスのみがアクセスできます。

+0

奇妙な人がこれを投票しました! – Fattie

+0

downvoted whoではありませんが、理由は次のようなものです: "変数の状態...誰が変数内の情報にアクセスできるかだけを決定する"というのは、技術的に正しいとは言えません。リフレクションやデバッガを使用して完全に異なるクラスからプライベート変数にアクセス/変更するのはかなり簡単です。 – oleksii

0

パブリックとプライベートのキーワードは、唯一の「はず」されて見えたりないことが何を表現しています。セキュリティの面では、リフレクション(例として)https://en.wikipedia.org/wiki/Reflection_(computer_programming)を使用してプライベート変数またはメソッドを呼び出すことは常に可能です。

関連する問題