如何确保只从特定页面运行php

时间:2014-06-02 08:31:34

标签: javascript php ajax

我有一个php文件(advanced.php),它由特定页面的ajax / javascript运行,只有高级用户才能访问。如何在服务器端确保此php仅从此特定页面运行而不是其他页面。

我很担心这个,因为所有用户都有另一个页面可以运行其他php文件(regular.php)。它以相同的格式给出结果但是受到限制。现在,一些用户可能只是将常规页面更改为在其前端使用名称advanced.php而不是regular.php,并免费访问付费功能。

我如何确保不会发生这种情况。

2 个答案:

答案 0 :(得分:2)

您可以将所有脚本封装在控件结构中,而不是尝试根据加载位置来阻止脚本处理。

说你有

<?php my_page(); ?>

你可以做到

<?php
if ( $premium ) {
    // do stuff
    my_page();
    } else {
    // you could be premium ;)
    become_premium_page();
    }
?>

只需检查尝试加载页面的用户是否是高级用户。

答案 1 :(得分:1)

  

如何在服务器端确保此php仅从此特定页面运行,而不是其他页面。

不要这样做。没有可靠的方法可以防止这种情况发生。相反,只有具有适当授权的用户才能访问该页面。如果您已经拥有身份验证机制,这非常容易。