2012-01-03 47 views
1

我在一家小公司(閱讀:三名員工)工作,開發Web應用程序,而且我們一直在持續採用這種結構,我們的應用程序的每個頁面:如何在Web應用程序中構建PHP AJAX函數?

  • PHP頁面「佔位」,用於建立環境。
  • 將HTML分隔成一個Smarty .tpl文件。
  • 將JavaScript分成不同的.js文件。
  • 以及由JavaScript發佈的'ajax_functions.php'文件。

我對文件結構感覺不錯,儘管它有點混亂(如果我錯了,請告訴我!)。我的問題具體是關於'ajax_functions.php'頁面。眼下的JavaScript將使$。員額要求沿東西線「ajax_functions.php行動=認購?」,並在頁面本身看起來像這樣:

switch($_GET['action']){ 
     case('subscribe'): 
     //Do stuff... 
     break; 
     default: 
     die('Invalid request'); 
    } 

我只是覺得這種方式太不安全:如果有人想直接鏈接到頁面並反覆發送垃圾信息,那麼阻止它們的方法很少。有沒有更好的結構要求?

+0

對我來說似乎很合理,您仍然可以使用會話管理將其鎖定,或者您可以生成在第一頁生成的一次性使用請求令牌,通過ajax請求並在您的ajax_functions.php腳本中進行驗證 – Scuzzy 2012-01-03 22:19:08

+1

看看這個關於確保AJAX請求的問題 - http://stackoverflow.com/questions/1953954/detecting-ajax-in-php-and-making-sure-request-was-from-my-own-website – Bruce 2012-01-04 00:10:54

回答

0

這似乎很不錯。

對於對比度繼承人我做什麼(很相似)

我的結構

對於AJAX等

-A PHP CLASSE /處理該POST和_GET數據功能

-A JS文件

這就是它。

該類/函數檢查正確的_POST或_GET數據,並做我需要的任何其他驗證檢查。

從我返回一個陣列的功能,然後可以json_encoded併發送回JS

這對我來說效果很好,因爲功能可以被用於該發送同樣的數據形式。

相關問題