Javascript LinkedIn如何知道或跟踪我在哪里嵌入了它的小部件?

Javascript LinkedIn如何知道或跟踪我在哪里嵌入了它的小部件?,javascript,html,api,widget,linkedin,Javascript,Html,Api,Widget,Linkedin,当您尝试与LinkedIn的“立即应用”按钮集成时,首先注册API密钥。表单要求您输入Javascript域API,这是使用此键调用Javascript API的所有页面的完全限定域名。作为回报,它会为您生成一个API键和一些HTML代码,您可以将它们复制到web页面并开始使用 这是他们的向导生成的代码: <script src="http://platform.linkedin.com/in.js" type="text/javascript"> api_key: 7a4gh

当您尝试与LinkedIn的“立即应用”按钮集成时,首先注册API密钥。表单要求您输入Javascript域API,这是使用此键调用Javascript API的所有页面的完全限定域名。作为回报,它会为您生成一个API键和一些HTML代码,您可以将它们复制到web页面并开始使用

这是他们的向导生成的代码:

<script src="http://platform.linkedin.com/in.js" type="text/javascript">

  api_key: 7a4ghb12agvda4552da

</script>

<script type="IN/Apply" 

data-companyname="Asd"
data-jobtitle="Software Developer"
data-joblocation="Istanbul"
data-email="abc@xyz.com">

</script>
现在,如何跟踪该脚本嵌入的位置?我第一次进去http://example.com 作为我的Javascript域API。事实证明,我只能在example.com域上使用这个小部件

in.js中有什么东西告诉LinkedIn它被嵌入了哪里

我问这个问题的原因是因为我自己也在构建一个小部件,我想确保只有注册的域才能使用我的小部件

编辑:作为奖励,如果我下载in.js,删除它进行域检查的部分,并在我的页面中包含我自己的in.js版本,会怎么样?他们如何防止这种情况

但是那是什么样的支票呢?我希望对这个问题有一些深入的了解。我如何制作这样的小部件?在客户端,如何检查承载.js文件的当前页面?您如何获得哪个域承载js文件? 谢谢你的帮助。谢谢。

in.js中有一个脚本,可以将另一个脚本标记添加到DOM中。它可能将API密钥作为脚本URL中的GET参数传递,然后服务器检查HTTP referer,这是浏览器发送的一个标准HTTP头,指示发送它们以获取该页面的网站,并检查它是否与数据库中的API密钥匹配

更简单的版本将包含以下内容:

document.write('<script src="http://mysite.com/api.js?key="' + api_key + '></' + 'script>');
in.js有一个脚本,它将另一个脚本标记添加到DOM中。它可能将API密钥作为脚本URL中的GET参数传递,然后服务器检查HTTP referer,这是浏览器发送的一个标准HTTP头,指示发送它们以获取该页面的网站,并检查它是否与数据库中的API密钥匹配

更简单的版本将包含以下内容:

document.write('<script src="http://mysite.com/api.js?key="' + api_key + '></' + 'script>');

如果您创建in.js的本地副本,LinkedIn Javascript框架将无法工作。in.调用的后端服务器会检查in.js是否来自正确的服务器,并检查以确保该框架仅在指定的域上工作

这里提出/回答了这个问题:

如果您制作in.js的本地副本,LinkedIn Javascript框架将无法工作。in.调用的后端服务器将进行检查,以确保in.js来自正确的服务器,并进行检查,以确保该框架仅在指定的域上工作

这里提出/回答了这个问题:

你确定他们就是这样做的吗?如果用户使用的浏览器不发送Referer头怎么办?或者如果它被调整了呢?这是最常见的方法,尽管我还没有浏览过in.js,但我敢打赌他们就是这么做的。可能有备份方法,但99%以上的浏览器确实发送了引用,并且域所有者无法为用户更改此设置,因此无论采用何种备份方法,边缘案例都可以自由处理,而不必担心被滥用。你确定这是他们的做法吗?如果用户使用的浏览器不发送Referer头怎么办?或者如果它被调整了呢?这是最常见的方法,尽管我还没有浏览过in.js,但我敢打赌他们就是这么做的。可能有备份方法,但99%以上的浏览器确实发送了referer,并且域所有者无法为用户更改此设置,因此无论采用何种备份方法,边缘案例都可以自由处理,而不必担心被滥用。谢谢Kirsten,但这些检查是如何执行的?他们如何使用客户端代码检查和授权我的域?他们如何在服务器端执行这样的检查?你能分享你对这件事的更深层次的见解吗?谢谢Kirsten,但这些检查是如何进行的呢?他们如何使用客户端代码检查和授权我的域?他们如何在服务器端执行这样的检查?你能分享你对这件事的深刻见解吗?你有没有得到更多的细节?你有没有得到更多的细节?