Javascript “检测”;“价值”;通过导入JS

Javascript “检测”;“价值”;通过导入JS,javascript,html,token,Javascript,Html,Token,我在网站上工作,用户可以添加项目。他们可以将自己网站的链接添加到项目中。但为了验证网站是他们的,他们必须在网站索引的头部添加一些脚本和生成的令牌 我想做这样的东西: <script src="linktoscript" data-sitekey="token"></script> var token = response('data-sitekey'); 不起作用。这里有一个解决方案,但还有更多。 我建议你不要让他们在他们的网站上添加脚本。他们可能不会硬逼你的脚本,也

我在网站上工作,用户可以添加项目。他们可以将自己网站的链接添加到项目中。但为了验证网站是他们的,他们必须在网站索引的头部添加一些脚本和生成的令牌

我想做这样的东西:

<script src="linktoscript" data-sitekey="token"></script>
var token = response('data-sitekey');

不起作用。

这里有一个解决方案,但还有更多。 我建议你不要让他们在他们的网站上添加脚本。他们可能不会硬逼你的脚本,也不会拒绝让它在他们的网站上运行

此外,如果他们网站上的脚本将令牌发送到服务器,则无法验证请求是否确实来自他们的网站。他们也可以在当地的机器上运行你的脚本

第一步 生成一个令牌,并将其与他们网站的url一起存储在数据库中

示例令牌
tJ0qEKJQlp2ZXb19

步骤2 要求用户将此元标记添加到他们的站点

假设您的网站名为
example.com

<meta name="example.com-token" content="tJ0qEKJQlp2ZXb19">
在PHP中:

使用和这个正则表达式

meta\s+name=“?example\.com令牌”?\s*content=“?(\w+)”\s*

第一个捕获组将包含令牌

步骤4 告诉你的用户他们的站点已经过验证,他们现在可以删除meta标签。

可能就是你要找的
document.currentScript
返回
的DOM

试着这样做:

console.log(document.currentScript.dataset.sitekey)

我主持了一次会议。使用“查看源代码”查看代码。

到目前为止您尝试了什么?请分享你的完整代码。我还没有生成代码。我只是想提醒()令牌var-token=响应('data-sitekey');警报(令牌);`但是@Wendelin这一切都不起作用,但是你无法确认脚本是在用户的网站上执行的。用户也可以在他们的浏览器中运行脚本,@Wendelin我真的不明白这个问题(所以我也不明白你想说什么)。我只是提供了一个解决方案,这可能是OP正在寻找的。这也是我用“可能”这个词的原因。如果你不理解这个问题,就不要回答。你的答案确实有效,但没有达到@WebCoder想要达到的目的。@Wendelin我说“我真的不明白…”,意思是我没有达到最终目标(你错过了真正的部分)。据我所知,OP希望通过标记中链接的脚本使用
数据sitekey
属性。所以我想试一试也许会有帮助。你觉得答案不恰当,你否决了它,这对你来说太好了。非常感谢。检查为最佳答案
console.log(document.currentScript.dataset.sitekey)