Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 危险代码段应该如何发布?_Security_Concurrency - Fatal编程技术网

Security 危险代码段应该如何发布?

Security 危险代码段应该如何发布?,security,concurrency,Security,Concurrency,在讨论(询问/回答问题、撰写博客帖子等)一些编程问题时,最好给出您所谈论的源代码示例;但在某些情况下,这些片段可能是危险的,不是因为它们直接有害,而是因为它们一开始似乎有效,但只是为以后的问题设置的。两个例子是,在讨论并发性问题时,代码大部分时间都在工作,但很少出现非确定性故障;在讨论安全性问题时,代码似乎在工作,但实际上可以被利用;还有其他的例子 有必要讨论这些问题,至少培养对这些问题的认识。然而,我总是担心有人来自搜索引擎,几乎看不到文章,复制粘贴片段,然后用它做点什么;更微妙的是,有些人可

在讨论(询问/回答问题、撰写博客帖子等)一些编程问题时,最好给出您所谈论的源代码示例;但在某些情况下,这些片段可能是危险的,不是因为它们直接有害,而是因为它们一开始似乎有效,但只是为以后的问题设置的。两个例子是,在讨论并发性问题时,代码大部分时间都在工作,但很少出现非确定性故障;在讨论安全性问题时,代码似乎在工作,但实际上可以被利用;还有其他的例子

有必要讨论这些问题,至少培养对这些问题的认识。然而,我总是担心有人来自搜索引擎,几乎看不到文章,复制粘贴片段,然后用它做点什么;更微妙的是,有些人可能会阅读文章,在测试项目中尝试代码,并确认它确实可以被利用(他被鼓励这样做),然后在一段时间后重用危险的代码,因为他已经忘记了代码是危险的,并且不再有一篇博客文章解释代码片段周围的代码为什么是危险的

因此,我想知道如何标记这样的代码,以便它的任何部分都不会以某种方式进入生产(或者,如果它曾经这样做过,那么责任方就不能合理地否认意识)

我想出的一个办法是:

  • 每个函数内的#error(或类似)指令,以及
  • 重复评论警告代码的危险性(因为将在测试项目中尝试代码以确认问题的人将删除#error指令)
  • 但是,由于这些评论在网上阅读时只会把片段弄得杂乱无章,所以我将它们设置为与背景相同的颜色(或者至少我正在尝试;看看我是如何将其付诸实施的,顺便问一下,如何最好地做到这一点)

    如果这看起来完全是矫枉过正,请记住并发性(和安全性)问题是非常危险的,所以我想尽我所能(在合理的范围内)防止我的代码片段在实际软件中引起问题;我有时把它比作裂变材料的处理


    (老实说,我不知道它是最适合programmers.stackexchange.com还是这里,所以我先问一下这里;如果那里的情况更好的话,请随意转到programmers.stackexchange.com。)

    你说得很好,我认为你现在处理得很好。 然而,在我的博客文章中出现了错误行,它们不是白色的

    我想你不应该太担心它被喂食之类的东西捡到。如果将代码从你博客上的警告信息中删除,那么更重要的是让错误行可见

    但总的来说,我喜欢你的系统。不过,作为程序员,我最好为此设定一些标准。 不过,我会在原始帖子中添加一个链接,解释为什么它也不好。这比仅仅说出来更重要


    总而言之:好主意,我们应该考虑一个标准。一定要包括一个为什么的链接。

    就个人而言,是的,我认为这太过分了

    我不认为你需要关心那些在没有阅读上下文的情况下提取和使用代码的人。这样的程序员可能会犯很多其他错误,以至于使用您的代码在很大程度上不相关


    简言之,他们将有并正在制造更大的问题。

    哦,只有评论是白色的;#错误行不会显著干扰读数(并提供一个很好的提醒),因此我会让它们可见。我担心feed的地方是我的解决方案可能会很难看,而不是代码会从文章中分离出来。很好的链接回来了,我们真的应该拿出一个标准,即使只是这样。啊,我明白了。我没捡到。好吧,你不决定RSS提要的外观吗?我想去掉以/*#error:bad code*/开头的注释并不难。但当然,这会降低意识。我要做的是为每个片段添加一个下载链接,其中包含注释。不是每个人都会使用它,但它肯定会有一点帮助;这样的代码片段就像一枚手榴弹,如果处理不当,很可能只会伤害操纵它的人。然而,有并发性或安全性问题的代码更像地雷,因为它可能会在以后伤害多个无辜者,即使他们不是错误处理代码的人;因此,出于对这些潜在受害者的关注,我认为这类代码应该采取更适当的安全预防措施。