将getJSON / PHP查询限制为服务器

时间:2015-07-30 09:08:50

标签: php jquery json parsing

我正在使用一个JS库,需要将JSON数据传递给它才能显示信息。我需要通过PHP脚本解析这些数据,如下所示:

 $.getJSON('http://example.com/q.php?a=3298&b=test', function(data)...

有没有办法将此查询限制为server / localhost?我不希望第三方人员或网站直接转到http://example.com/q.php?a=3298&b=test&callback=来检索数据? 。

2 个答案:

答案 0 :(得分:1)

听起来您想要的是不要将其限制为localhost,因为这意味着只有您的服务器才能访问此网址(除非您的浏览器在您的服务器上运行,否则您就是只有使用它的人,这可能不是你想要的。)

如果我理解正确,您需要访问您网站的访问者才能在您的JS代码中使用此功能,但您不希望他们抓住网址,修改参数并从您的网站中提取任意数据服务器

如果是这种情况,那么您要做的就是加密或散列您传递的值。而不是你现在正在做的事情:

http://example.com/q.php?a=3298&b=test

做这样的事情:

http://example.com/q.php?token=fjsdfa6f98sfuspojfj

fjsdfa6f98sfuspojfj是您在服务器上预先创建的与a=3298&b=test对应的内容。这样,有人就无法使用token并输入与ab的其他版本相对应的值。

答案 1 :(得分:0)

使用public Nullable<double> MILES { get; set; }

.htaccess

或者您可以通过PHP限制访问:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^127\.0\.0\.1$
RewriteRule ^q.php$ - [F]