我有一个php文件(advanced.php),它由特定页面的ajax / javascript运行,只有高级用户才能访问。如何在服务器端确保此php仅从此特定页面运行而不是其他页面。
我很担心这个,因为所有用户都有另一个页面可以运行其他php文件(regular.php)。它以相同的格式给出结果但是受到限制。现在,一些用户可能只是将常规页面更改为在其前端使用名称advanced.php而不是regular.php,并免费访问付费功能。
我如何确保不会发生这种情况。
答案 0 :(得分:2)
您可以将所有脚本封装在控件结构中,而不是尝试根据加载位置来阻止脚本处理。
说你有
<?php my_page(); ?>
你可以做到
<?php
if ( $premium ) {
// do stuff
my_page();
} else {
// you could be premium ;)
become_premium_page();
}
?>
只需检查尝试加载页面的用户是否是高级用户。
答案 1 :(得分:1)
如何在服务器端确保此php仅从此特定页面运行,而不是其他页面。
不要这样做。没有可靠的方法可以防止这种情况发生。相反,只有具有适当授权的用户才能访问该页面。如果您已经拥有身份验证机制,这非常容易。