问题标签 [self-destruction]

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 投票
4 回答
13228 浏览

php - 应该运行一次并自行删除的 PHP 文件。可能吗?

是否可以创建一个运行一次且没有错误并自行删除的 PHP 文件?

0 投票
8 回答
1012 浏览

security - 一个人怎么能设计出一个安全和“自毁”的电子邮件呢?

众所周知,电子邮件非常不安全。即使在客户端和发送电子邮件的服务器之间建立了 SSL 安全连接,当它在 Internet 上的节点之间跳跃时,消息本身也将是纯文本的,因此很容易被窃听。

另一个考虑因素是发件人可能不希望邮件在一段时间后或在被阅读一次后被阅读 - 即使是预期的收件人。有许多的原因; 例如,该消息可能包含可以通过传票请求的敏感信息。

一种解决方案(我相信最常见的解决方案)是将消息发送给受信任的第三方,并将该消息的链接发送给接收者,然后接收者从第三方读取此消息。或者,发送方可以向接收方发送加密消息(使用对称加密)并将密钥发送给第三方。

无论哪种方式,这种方法都存在一个根本问题:如果这个第 3 方受到损害,你所有的努力都将付诸东流。有关此类事件的真实示例,请参阅涉及Crypto AG与 NSA 勾结的崩溃

我见过的另一个解决方案是Vanish,它对消息进行加密,将密钥分成几部分并将这些部分“存储”在 DHT(即 Vuze DHT)中。通过简单地查找散列(散列与消息一起发送),可以轻松且可靠地访问这些值。8 小时后,这些值将丢失,甚至预期收件人也无法阅读邮件。拥有数百万个节点,不存在单点故障。但这也被 DHT 上的 Sybil 攻击所打破(有关更多信息,请参阅 Vanish 网页)。

那么有人对如何实现这一点有想法吗?

编辑:我想我没有说清楚。主要问题不是收件人故意保留消息(我知道这是无法控制的),而是消息在某处可用。

例如,在安然事件中,法院传唤他们索要其服务器上的所有电子邮件。如果消息被加密并且密钥永远丢失,那么加密消息而没有密钥对他们没有好处。

0 投票
10 回答
119923 浏览

c++ - C++ 中是否允许“删除这个”?

delete this;如果删除语句是将在该类的实例上执行的最后一条语句,是否允许?当然,我确定由this-pointer 表示的对象是newly-created 的。

我正在考虑这样的事情:

我可以这样做吗?

0 投票
0 回答
183 浏览

security - 设计一个自我召回/可破坏的电子邮件程序

标题说明了一切。这是我的一项任务,我需要一些帮助才能开始。作业背后的基本思想是,我必须设计一个能够在 (n) 时间后破坏邮件的自毁电子邮件程序。

谈到自毁电子邮件,互联网上有不少提供相同服务的电子邮件。但他们所做的是,他们只是将电子邮件信息转换成图像并将它们存储在他们的服务器上。现在,他们发送带有内嵌图像的消息。在他们收到对该图像的点击后(这意味着正在打开该消息),他们只需删除该图像并且内联图像链接就会中断!繁荣!

IMO,这不是自毁电子邮件应有的样子。不过,就我而言,我必须注意以下几点:

  1. 我必须为 TEXT 做这件事。没有图,没有别的。
  2. 我必须假设在整个过程中使用的系统都是基于 UNIX 的(我不知道这会有什么不同)。
  3. 还有一些关于在解决问题中使用各种网络层的提示。
0 投票
2 回答
827 浏览

objective-c - 自杀:Objective-C 对象自己调用自己的 -dealloc 方法

Objective-C 中的对象自杀是一种好习惯吗?也就是说,对于一个对象来说,[self dealloc]在哪里-dealloc可以像往常一样有序地声明?主要风险是什么?

碰巧我有一个具体的例子,一个扩展 NSObject 并包含一个 NSTimer 实例和一个 NSUInteger 的自定义计时器对象,该对象设置为限制计时器触发的次数。当时间到了,对象告诉计时器,然后通过调用它的方法-invalidate自杀。-dealloc由于这是自动的,我们不必担心必须跟踪对象或至关重要地知道何时是释放它的正确时机。

有关更详细的解释,请参阅我的帖子

0 投票
3 回答
2558 浏览

c++ - 面向对象自杀或删除此;

下面用MSVC9.0编译的代码运行四次,输出Destructor ,符合逻辑。

我认为 main 中的前 4 行代码不会导致未定义的行为(尽管对此并不完全确定delete this;)。我想要一个确认或< 确认反义词的占位符 >。但是我对第 5 行和第 6 行有严重的怀疑。允许显式调用析构函数,不是吗?但是在那之后对象的生命周期是否已经结束?也就是说,在显式调用析构函数之后调用另一个成员是否允许(定义)?

总而言之,上述代码的哪些部分(如果有)会导致未定义的行为(从技术上讲)?

0 投票
3 回答
10177 浏览

c++ - 在构造函数中“删除这个”

当我执行这段代码时实际发生了什么?

0 投票
3 回答
3685 浏览

c++ - 直接调用(虚拟)析构函数是否有效?

这个答案中,Ryan 直接调用了虚拟析构函数。我已经在 VS2010 中测试了代码,它正确地调用了所有的析构函数(用日志语句测试)。这样做真的有效吗?这种方法有哪些问题、缺陷甚至优点?

我只能将其视为一种真正强制重置实际类型的方法,即使它们不覆盖虚reset函数,因为它们至少必须在其析构函数中进行清理。

另外,调用析构函数究竟会带来什么样的副作用?在这样的析构函数调用之后使用对象是未定义的行为吗?如果立即通过new (this) MyClass();调用重新初始化它会怎样?

0 投票
2 回答
7511 浏览

windows - 适用于 Linux Bash 和 Windows Batch 的自删除脚本

我有一个卸载脚本,可以清理与应用程序一起使用的附加工具。该脚本的版本可在 Windows 和 Linux 上运行。

我希望能够删除卸载脚本文件以及脚本运行的目录(在 Windows 批处理文件和 Linux bash 文件的情况下)。现在,除了脚本及其运行所在的目录之外的所有内容在运行后仍然存在。

如何删除脚本和脚本的目录?

谢谢

0 投票
5 回答
824 浏览

c++ - 删除这个?它有什么作用?

鉴于以下情况:

输出是:

有没有delete this;什么严重的影响?