所以,我有一个我的topsite的API,我提供给我的用户放在他们的页面上。
API:
<script type="text/javascript">
var id = 21;
$(document).ready(function(){
$.getJSON("http://topsite.com/index.php?page=vote", { id: id, hasVoted: 'unknown' }, function(data) {
if(data == 2) {
window.location.replace("http://topsite.com/index.php?page=vote&id=" + id);
}
});
});
所以,基本上我想要做的就是避免我的客户将这些代码放在他们的网站上:
<script type="text/javascript">$.getJSON("http://topsite.com/index.php?page=vote&id=21");</script>
因为我希望用户能够重定向到我的网站,这样我就可以从广告中赚取一些钱,甚至可以向他们展示一些信息。
所以,我想知道是否有任何方法可以知道何时使用ajax请求来访问该站点,或者如果设置了hasVoted参数,是否有办法禁用AJAX请求。
感谢任何帮助,谢谢!
编辑:我在使用&#39; hasVoted&#39;从网站重定向时发送自定义标头参数到其他页面。
编辑问题:如何继续发送带位置的自定义标题?还是我离开这里?
答案 0 :(得分:2)
非正式地,许多AJAX库添加了一个名为X-Requested-With
的自定义HTTP标头,并将值设置为XMLHttpRequest
。您可以检查该标头,看看它是否设置为该值,在这种情况下,一个好的假设是它是一个AJAX请求。
但是,没有标准,如果您直接构建XMLHttpRequest(即实现自己的AJAX代码),那么就没有真正的方法可以告诉。
答案 1 :(得分:1)
首先,ajax请求不会像那样跨域工作。该代码不适用于除topsite.com及其子域之外的任何网站。
然而,没有什么可以阻止任何人通过服务器端脚本解析内容。并且没有办法完全阻止人们下载它(你可以让它变得困难,但只要它是公开的,人们就可以下载它)
答案 2 :(得分:0)
可能通过检查用户代理?