|
|
1
2
如果要将对方法的访问限制到特定程序集,可以执行以下操作:
这种方法的优点之一是,如果有人使用来自未经授权的程序集的反射,则调用将失败。 |
|
2
9
模糊处理不会改变.net或您的应用程序的基础-最终,它所做的只是使其更难阅读,并尝试添加反编译工具无法处理的情况。。。但不管怎样,IL仍然存在。如果你给他们加密的文本(xml)和密钥(通过网络发送或隐藏在代码中),他们就可以解密。你所做的只是让它变得更难,而不是不可能。 可以 是吗 strong name 并验证类型的调用者是否来自具有 StrongNameIdentityPermission 属性。请注意,KeeperOfTheSoul是正确的-完全信任程序集可以在4.0之前的.net版本中绕过此选项(据我了解,在4.0中,此属性不再使用标识权限,只有在存在正确证据时才成功)。
编辑 See here inspecting the stack trace . 再次,请注意,这两个都不是一个银弹,但可以增加一个障碍的攻击者,如果你认为这是值得你的时间。(请记住,在互联网时代,任何数量的人只需要一个成功的攻击者就可以用谷歌搜索结果) |
|
|
3
1
如果某个东西可以通过反射来调用,那么它必须(以某种方式)通过常规代码来调用。 我建议反对这一点(因为没有办法完全挫败那些坚持执行他们不应该执行的代码的人)。 如果你真的对这样的事情感兴趣,你可以打破C的OO原则,把所有的方法都私有化。这样,只有从类内部执行的代码才能定期调用它们。其他人都必须通过反射来调用它们(而通过反射来调用私有成员通常被认为是不好的做法)。 奇怪的是,我想得越多,这个方法应该被标记为private,因为你不希望每个人都能调用它。调用者必须通过一个公共facade调用,这个facade将决定是否允许你调用这个方法,并且只允许授权的调用。 |
|
|
JBryanB · 如何从基本抽象类访问类属性 3 年前 |
|
|
Gabe Tucker · 无法在golang中分配接口对象指针 4 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 8 年前 |
|
|
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 8 年前 |
|
|
Randall Flagg · 访问propertyinfo中的属性 8 年前 |
|
|
Kacper · 在反映的全名和成员c后的“*”中,“+”是什么意思# 8 年前 |
|
|
tobeypeters · 反射铸造 8 年前 |
|
|
myst02 · 如何在另一个方法之后调用该方法? 8 年前 |