赠送带有激活码的小部件(网络应用程序)

Give out widget (web application) with activation code

我不知道在这里问这个问题是否合适,但我就是要问这个问题。 我一直在想如何发布我的 Web 应用程序。

这是我的情况:

我已经创建了一个网络应用程序。想要使用此应用程序的人可以自由使用。 但是 他们需要在我们的网站上注册。
应用程序需要绑定到一个唯一的密钥。一旦他们在我们的网站上注册,就会生成此密钥。
该应用程序托管在我们的服务器上。
Web 应用程序需要易于实施。

我看过:

我见过其他服务生成 JS 脚本,例如:

<script type='text/javascript' data-cfasync='false'>window.exampleApi = { l: [], t: [], on: function () { this.l.push(arguments); } }; (function () { var done = false; var script = document.createElement('script'); script.async = true; script.type = 'text/javascript'; script.src = 'https://app.example.com/VisitorWidget/WidgetScript'; document.getElementsByTagName('HEAD').item(0).appendChild(script); script.onreadystatechange = script.onload = function (e) { if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) { var w = new PCWidget({c: 'e01fe420-5c14-55p0-bbec-229c7d9t2f0cf', f: true }); done = true; } }; })();</script>

到目前为止我做了什么:

我制作了一个简单的 Web 应用程序,需要您注册并登录。从现在开始,您将获得一个可以使用的 iframe。我使用 iframe 只是为了测试。
Web 应用程序由 HTML、CSS、PHP(大部分)、JS 和 jQuery.

组成

我试过了:

我试过了this。我卡在了 Python 部分。我从未 used/looked 接触过这种语言。
另外,我有点担心人们会 "use" 我的 Web 应用程序而没有这样做的权利。
我的想法是生成的密钥需要发送到我们的网站以检查密钥是否正确。

提示、技巧、指南?

你有什么提示或技巧吗?也许是批评?
JSONP、CORS 或其他什么?从未做过 JSONP 或 CORS,所以任何关于这方面的提示也很好!

不胜感激!

是的,总的来说,你的想法是对的。

  1. 客户登录到您的网站,注册他的域并接收 ID(让我们这样称呼它)
  2. 他在自己的站点中实施了 js 并正确实施了 ID
  3. 持有ID的认证请求被发送到服务器;还要验证域(否则,只需复制 js 并将其放入我的站点就很容易)。

关于具体实施的问题 - 有大量示例。没有一种放之四海而皆准的方法,而这是其中最好的部分——完全定制以满足您的需求。例如,twitter

<a class="twitter-timeline"
    data-widget-id="600720083413962752"
    href="https://twitter.com/TwitterDev"
    data-tweet-limit="3">
  Tweets by @TwitterDev
</a>

由于提供并使用了 php 标签,我认为没有理由将它与 python 混合使用,除非确实需要某些特定的东西(而且我怀疑)。所以现在坚持php。关于应用程序的安全性——使用 ID 和一些请求将被验证的域是足够公平的。也许有一些更大的额外指标 sites/services 正在使用,但不要太担心。

补充阅读:

  • What are the differences between JSON and JSONP?
  • CORS - What is the motivation behind introducing preflight requests?