php - 如何保护 PHP 脚本以使其仅在购买时可用?

标签 php security license-key

我已阅读 an answer关于 Stack Overflow 的另一个问题。先引用被控部分:

If your goal is to make people pay for it, you better register a key on your server side for each client. Then, when they connect to update, they will send the key and if she's in your database and valid, you output your zip file. If not, you don't.

我想问的是,从技术上讲,如何使用注册 key 方法来保护他/她基于 PHP 的项目?假设我们有这个:

$key = file_get_contents('http://auth.project.example.com/auth.php?auth_key=asd123');
if ( $key === "auth_valid" )
    define('AUTH', TRUE);

然后,我们检查AUTH 以查看我们(从客户的角度)是否购买了该系统。显然,如果我们不这样做,AUTH 将是 FALSE 或者根本不会被定义。问题是,对 PHP 只一无所知 的客户端很容易将这些行注释掉,hotwire AUTH 为 TRUE他/她在使用系统时认为它已被购买,而实际上并没有。

最佳答案

您将使用加密和评估。虽然,考虑一下,一旦它被评估,那么你就输了,因为他们可以将 eval 更改为 echo。因此,在这种情况下,您需要通过 API 在您的服务器上包含业务部分。

关于php - 如何保护 PHP 脚本以使其仅在购买时可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11229717/

相关文章:

security - 为什么将 localhost 添加到 SAN 列表被视为不安全?

PHP SQL 将 Select 语句转换为用于数据库插入的变量

PHP 以两组为一组对数组进行排序,避免合并具有相同值的项目

security - secret URL 真的安全吗?

security - 我可以在 1 天内自己开发的最简单的许可证 key 生成器是什么?

PHP 许可证 key 生成器

c# - 开源/免费的 C# Windows 应用程序的许可证 keystore

php - 对于 PHP-FPM, "active processes"是否可以大于 "max_children"

javascript - 更改数组中的动态复选框以更新 mysql 数据库

ajax - 登录/ session cookie、Ajax 和安全性