【发布时间】:2018-03-15 10:25:04
【问题描述】:
我不知道如何在标题中彻底描述它,但是一旦进程返回 true,我需要设置变量/标志的永久值,并且可能在程序本身中设置一些标志值而不是保存它到数据库。并且一旦该变量/标志已经具有该值,那么程序将不会再次运行该过程而只是使用该值。可能吗?我正在使用 VB.Net。我不能使用数据库,因为可以使用查询覆盖数据库并更改值。提前致谢!
【问题讨论】:
-
了解更多关于为什么值需要在每次执行中保持不变的背景知识可能有助于了解最合适的解决方案。 TLDR;你想完成什么?
-
@ChristopherHarris 我正试图在到期日期到来时禁用我的系统,由于我没有托管我系统的数据库,我不能只在数据库中创建另一个字段并存储那里的值,因为它可以通过执行查询手动覆盖。
-
因为您担心值会被更新,所以您应该将其保存在除您之外没有其他人可以访问的地方。最好的方法是运行每次都产生价值的过程,但如果你这样做是非常“昂贵”的。您可以创建 Web API 来存储您的价值。
-
如果您的代码在“攻击者”的机器上运行,那么您所能做的就是放置路障。 IE。熟练的用户可以反编译您的代码并删除变量检查。唯一 100% 的方法是将要保护的代码保留在 您控制的机器 上。除此之外,您最好购买一个许可组件,而不是尝试自己重新实现一个。