簡體   English   中英

如何確保僅從特定頁面運行php

[英]how to make sure a php is run only from a particular page

我有一個php文件(advanced.php),該文件通過ajax / javascript在特定頁面上運行,僅高級用戶可以訪問。 我如何才能確保在服務器端僅從該特定頁面運行此php,而沒有其他運行。

我擔心這一點,因為還有一個可供所有用戶運行的頁面,該頁面運行其他php文件(regular.php)。 它以相同的格式給出結果,但是受到限制。 現在,某些用戶可能只是將常規頁面更改為在其前端使用名稱Advanced.php而不是regular.php即可免費使用付費功能。

我如何確保不會發生這種情況。

您可以嘗試將所有腳本封裝在控制結構中,而不是嘗試根據腳本的加載位置阻止腳本處理。

說你有

<?php my_page(); ?>

你可以做

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

只需檢查嘗試加載頁面的用戶是否為高級用戶即可。

我如何才能確保在服務器端僅從該特定頁面運行此php,而沒有其他運行。

不要這樣 沒有可靠的方法來防止這種情況。 而是,使它只有具有適當授權的用戶才能訪問該頁面。 如果您已經具有身份驗證機制,這將非常容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM