小编mat*_*tts的帖子

检查对象是否来自某个包

有没有办法检查对象的类是否来自某个包?

就像,当我检查某个对象是否属于某个类时instanceof,我想要类似的东西来检查Java中的包.

java reflection

4
推荐指数
2
解决办法
2604
查看次数

理解对象初始化中的泛型

我有一个关于Java中泛型的基本问题:地图的以下两个初始化之间有什么区别?

        Map<String, String> maplet1 = new HashMap<String, String>();

        Map<String, String> maplet2 = new HashMap();
Run Code Online (Sandbox Code Playgroud)

我理解第一个初始化是指定对象构造中的泛型,但我不理解这样做的潜在后果,而不是后一个对象构造(maplet2).在实践中,我总是看到代码使用了maplet1构造,但是我不明白在另一个上面做这件事有什么好处.

java generics initialization object

4
推荐指数
1
解决办法
188
查看次数

C# 避免在 Assembly.Load 时锁定文件

我的情况是;

我正在设计一个插件应用程序,基于动态加载插件程序集,多个用户可以运行托管在服务器机器上的应用程序。应用程序在启动时从我的实时更新服务器自动更新插件程序集。所以插件文件(及其附属 dll 不应该被锁定在文件系统上。

 byte[] assemblyBytes = File.ReadAllBytes("asm-path");
 var assembly = Assembly.Load(assemblyBytes);
Run Code Online (Sandbox Code Playgroud)

正如预期的那样没有锁定 dll 文件。但是如果我正在加载的 dll 本身具有静态引用 dll 呢?他们现在被锁定在文件系统上。

命名文件,让我们说;

  • APP.Exe 是我的基础应用程序;
  • PL1.dll 是我的第一个插件,APP.exe 将它加载到一个新的 Appdomain
  • PL2.dll 是我的第二个插件,APP.exe 将它加载到一个新的 Appdomain 中
  • PL1_S.dll 是 PL1.dll 插件的静态引用 dll,加载在 PL1 AppDomain 中
  • PL_COMMON 是 PL1 和 PL2 插件的静态引用 dll,由 PL1 和 PL2 AppDomains 加载

PL1_S 和 PL_COMMON 也不应该像 PL1 和 PL2 程序集那样被锁定在文件中

关于如何解决这个问题的任何想法?

c# dll filelock .net-assembly

2
推荐指数
1
解决办法
2985
查看次数

"SELECT $ var FROM ..."中的变量,这是安全的还是对sql注入开放?

我一直在学习准备好的语句和绑定参数......我曾希望能够做到这一点:

SELECT ? FROM table WHERE id=?
Run Code Online (Sandbox Code Playgroud)

但是,我发现你不能使用绑定参数来调用这里搜索的表或列.在这里搜索之后,我理解为什么现在背后的原因.

这让我有了这个问题.使用这样的变量是否安全:

$fields = "col1, col2, col3";  
SELECT $fields FROM table WHERE id=?
Run Code Online (Sandbox Code Playgroud)

我问,因为我有一个很大的声明,并且能够使语句简短并使用$fields包含非常长的字符串是很好的.我可以使用select all,除了我然后存储然后绑定结果(不确定它是否真的必要......我还没有尝试使用$stmt->get_result(),只是升级的php才能够使用它昨天).

我对SQL注入的工作方式有一个大概的了解,从我一直在做的所有阅读中看来,准备和参数化语句的想法是它通过让SQL不运行整个语句来阻止SQL注入,但是将它分解为简单地说......

然而,当我放入$fields变量时,现在是否在语句中直接使用变量将它打开到SQL注入? $fields是硬编码的,不是来自代码本身以外的任何来源(不是来自用户,不来自数据库).我不知道SQL注入可以攻击的程度,这就是我在这里问的原因.我可以处理一个冗长的陈述,但这将有助于我理解正确的方法,并使其更安全.

谢谢.

php sql-injection

1
推荐指数
1
解决办法
87
查看次数

可以从PGP PRIVATE KEY生成公钥吗?

我正在用openpgp使用公钥创建我的java产品的许可证.产品随附私钥以读取许可证文件.这是正确的方法吗?私钥可以用于生成公钥吗?

谢谢

java openpgp

0
推荐指数
1
解决办法
271
查看次数