---
title: "给主题加上一个 PHP 域名授权 - 一纸忘忧"
description: "最近我思考了一下 WordPress 主题如何进行授权。最初，我想到了通过 JS 判断域名的方式来实现授权，然而这个想法很快就被否定了，因为 JS 授权 容易被破解，只要通过审查元素就能轻松查看。接着，我考虑了 PHP 授权，这种方式相对安全，因为 PHP 有多种加密方法，破解起来也需要更多的时间和精力，这样就能有效阻"
canonical_url: "https://www.ikxin.com/article/php-domain-licensing"
last_updated: "2026-09-16T09:59:27.259Z"
locale: zh-cn
meta:
  "og:description": "最近我思考了一下 WordPress 主题如何进行授权。最初，我想到了通过 JS 判断域名的方式来实现授权，然而这个想法很快就被否定了，因为 JS 授权 容易被破解，只要通过审查元素就能轻松查看。接着，我考虑了 PHP 授权，这种方式相对安全，因为 PHP 有多种加密方法，破解起来也需要更多的时间和精力，这样就能有效阻"
  "og:image": "https://www.ikxin.com/_og/d/h_630%2Ca_~57uZ5Li76aKY5Yqg5LiK5LiA5LiqIFBIUCDln5~lkI3mjojmnYMgLSDkuIDnurjlv5jlv6c%2Cc_Article%2Ctitle_~57uZ5Li76aKY5Yqg5LiK5LiA5LiqIFBIUCDln5~lkI3mjojmnYM%2Cdescription_~5pyA6L-R5oiR5oCd6ICD5LqG5LiA5LiLIFdvcmRQcmVzcyDkuLvpopjlpoLkvZXov5vooYzmjojmnYPjgILmnIDliJ3vvIzmiJHmg7PliLDkuobpgJrov4cgSlMg5Yik5pat5Z-f5ZCN55qE5pa55byP5p2l5a6e546w5o6I5p2D77yM54S26ICM6L-Z5Liq5oOz5rOV5b6I5b-r5bCx6KKr5ZCm5a6a5LqG77yM5Zug5Li6IEpTIOaOiOadgyDlrrnmmJPooqvnoLTop6PvvIzlj6ropoHpgJrov4flrqHmn6XlhYPntKDlsLHog73ovbvmnb7mn6XnnIvjgILmjqXnnYDvvIzmiJHogIPomZHkuoYgUEhQIOaOiOadg--8jOi~meenjeaWueW8j-ebuOWvueWuieWFqO-8jOWboOS4uiBQSFAg5pyJ5aSa56eN5Yqg5a-G5pa55rOV77yM56C06Kej6LW35p2l5Lmf6ZyA6KaB5pu05aSa55qE5pe26Ze05ZKM57K-5Yqb77yM6L-Z5qC35bCx6IO95pyJ5pWI6Zi7%2CsiteName_~5LiA57q45b-Y5b-n%2CsiteHost_www.ikxin.com%2Cp_Ii9hcnRpY2xlL3BocC1kb21haW4tbGljZW5zaW5nIg%2Cs_OgtYixEhXDtCNeKf.png"
  "og:image:alt": "给主题加上一个 PHP 域名授权 - 一纸忘忧"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "给主题加上一个 PHP 域名授权"
  "twitter:image": "https://www.ikxin.com/_og/d/h_630%2Ca_~57uZ5Li76aKY5Yqg5LiK5LiA5LiqIFBIUCDln5~lkI3mjojmnYMgLSDkuIDnurjlv5jlv6c%2Cc_Article%2Ctitle_~57uZ5Li76aKY5Yqg5LiK5LiA5LiqIFBIUCDln5~lkI3mjojmnYM%2Cdescription_~5pyA6L-R5oiR5oCd6ICD5LqG5LiA5LiLIFdvcmRQcmVzcyDkuLvpopjlpoLkvZXov5vooYzmjojmnYPjgILmnIDliJ3vvIzmiJHmg7PliLDkuobpgJrov4cgSlMg5Yik5pat5Z-f5ZCN55qE5pa55byP5p2l5a6e546w5o6I5p2D77yM54S26ICM6L-Z5Liq5oOz5rOV5b6I5b-r5bCx6KKr5ZCm5a6a5LqG77yM5Zug5Li6IEpTIOaOiOadgyDlrrnmmJPooqvnoLTop6PvvIzlj6ropoHpgJrov4flrqHmn6XlhYPntKDlsLHog73ovbvmnb7mn6XnnIvjgILmjqXnnYDvvIzmiJHogIPomZHkuoYgUEhQIOaOiOadg--8jOi~meenjeaWueW8j-ebuOWvueWuieWFqO-8jOWboOS4uiBQSFAg5pyJ5aSa56eN5Yqg5a-G5pa55rOV77yM56C06Kej6LW35p2l5Lmf6ZyA6KaB5pu05aSa55qE5pe26Ze05ZKM57K-5Yqb77yM6L-Z5qC35bCx6IO95pyJ5pWI6Zi7%2CsiteName_~5LiA57q45b-Y5b-n%2CsiteHost_www.ikxin.com%2Cp_Ii9hcnRpY2xlL3BocC1kb21haW4tbGljZW5zaW5nIg%2Cs_OgtYixEhXDtCNeKf.png"
  "twitter:image:alt": "给主题加上一个 PHP 域名授权 - 一纸忘忧"
---

> Index of every page on this site: [llms.txt](https://www.ikxin.com/llms.txt)

# **给主题加上一个 PHP 域名授权**

2017.07.10 9,886  3

最近我思考了一下 **WordPress** 主题如何进行授权。最初，我想到了通过 **JS** 判断域名的方式来实现授权，然而这个想法很快就被否定了，因为 **JS 授权** 容易被破解，只要通过审查元素就能轻松查看。接着，我考虑了 **PHP 授权**，这种方式相对安全，因为 **PHP** 有多种加密方法，破解起来也需要更多的时间和精力，这样就能有效阻止很多人尝试破解主题。

下面是 **PHP 授权域名** 的思路。

## 第一种：云端校验域名授权

### 客户端代码：

 PHP

```
<?php
$shouname = trim($_SERVER['SERVER_NAME']);  // 获取域名
$shouurl = file_get_contents('https://www.ikxin.com/shouquan.php?domain='.$shouname);  // 获取服务端授权文件
if(!empty($shouurl)){
    echo "已授权！";    // 授权成功
}else{
    die("未授权！");    // 授权失败
}
?>
```

### 服务端代码：

 PHP

```
<?php
$domain = $_GET['domain'];                                // 获取域名
$Array = array('127.0.0.1','localhost','www.ikxin.com');  // 授权域名列表
echo in_array($domain, $Array) ? 'yes' : '';              // 校验结果
?>
```

**说明：**

- 域名授权代码可以封装进函数，或者进行加密处理。
- 常见的 **PHP 加密** 方式，如 **Zend、mzphp2、ionCube** 等，都有一定的破解方法。如果授权的域名较多，可以在项目中增加域名字段，将域名写入数据库进行读取和校验。

## 第二种：独立校验域名授权

 PHP

```
<?php
function allow_domain(){
    $is_allow = false;
    // 获取不带端口号的域名前缀
    $servername = trim($_SERVER['SERVER_NAME']);
    // 授权域名列表
    $Array = array("localhost", "127.0.0.1");
    // 遍历数组
    foreach($Array as $value){
        $value = trim($value);
        $domain = explode($value, $servername);
        if(count($domain) > 1){
            $is_allow = true;
            break;
        }
    }
    if(!$is_allow){
        die("域名未授权！");    // 授权失败
    }else{
        echo "域名已授权！";    // 授权成功
    }
}
allow_domain();
?>
```

## 使用方法

以上方法中，推荐使用 **第一种**，因为第一种方法便于管理。你可以将客户端代码写到 **WordPress 主题的全局 PHP 函数文件** 中，然后在自己的服务器端配置好域名授权。客户端的 **PHP 文件** 也可以加密处理，当然，虽然 **PHP 代码** 加密有一定的难度，但世界上没有绝对无法解密的代码。

## **评论**

(3)

1. [**duke**](https://www.dukeyin.com)2019/07/17 15:41 Chrome 75 Windows 7

   OωO 谢谢博主，正在研究这方面。感觉最关键的还是加密，太容易破解不行，太影响性能也不行，授权长期有效就得每次都检查server，有点不好弄。
   1. [**一纸忘忧**](http://www.typecho.org) 回复 duke2019/07/20 12:36 Chrome 75 macOS 10.14.5Apple Macintosh

      这种授权方式本来就是小白级别的，而且php也没有不可逆的加密，要想实现更可靠的授权机制，还得想其他方案
2. [**云上的影子**](https://www.ysdyz.com)2020/10/19 22:19 Chrome 86 Windows 10

   请问博主，如果是js代码怎么弄授权呢

## **发布评论**

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.ikxin.com/#website","@type":"WebSite","description":"一纸忘忧的个人网站，关于技术探索与日常生活，记录 Web 开发、服务端与 DevOps 实践，分享软件工具、数码体验，以及代码之外的见闻与思考。","inLanguage":"zh-CN","name":"一纸忘忧","url":"https://www.ikxin.com/","workTranslation":[{"@id":"https://www.ikxin.com/zh-tw#website"},{"@id":"https://www.ikxin.com/ko#website"},{"@id":"https://www.ikxin.com/en#website"},{"@id":"https://www.ikxin.com/ja#website"}]},{"@id":"https://www.ikxin.com/article/php-domain-licensing#webpage","@type":"WebPage","description":"最近我思考了一下 WordPress 主题如何进行授权。最初，我想到了通过 JS 判断域名的方式来实现授权，然而这个想法很快就被否定了，因为 JS 授权 容易被破解，只要通过审查元素就能轻松查看。接着，我考虑了 PHP 授权，这种方式相对安全，因为 PHP 有多种加密方法，破解起来也需要更多的时间和精力，这样就能有效阻","name":"给主题加上一个 PHP 域名授权","url":"https://www.ikxin.com/article/php-domain-licensing","isPartOf":{"@id":"https://www.ikxin.com/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://www.ikxin.com/article/php-domain-licensing"]}]}]}
```

## Sitemap

See the full [sitemap](https://www.ikxin.com/sitemap.md) for all pages.
