2012-01-03 3 views
1

나는 작은 회사 (읽기 : 3 명의 직원)를 위해 일 웹 애플리케이션을 개발, 우리는 지속적으로 우리의 애플 리케이션의 각 페이지에이 구조를 사용하고는 :웹 애플리케이션 내에서 PHP AJAX 기능을 구조화하는 방법은 무엇입니까?

  • PHP 페이지는 '자리'설정 그 환경.
  • HTML을 Smarty .tpl 파일로 구분합니다.
  • JavaScript가 다른 .js 파일로 분리되었습니다.
  • JavaScript에 의해 게시 될 'ajax_functions.php'파일.

다소 지저분하지만 파일 구조가 상당히 좋다고 느낍니다. (틀렸다면 알려주세요!). 제 질문은 특히 'ajax_functions.php'페이지에 관한 것입니다. 현재 자바 스크립트는 '? = ajax_functions.php 행동 구독'의 라인을 따라 뭔가에 $ .post 요청을하고, 페이지 자체는 다음과 같습니다 것 : 난 그냥 이런 식으로 느낄

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

가 너무 불안하다 : 누군가가 페이지에 직접 링크하여 정보로 반복 스팸하려는 경우이를 막을 수있는 방법이 거의 없습니다. 요청을 구조화하는 것이 더 좋은가?

+0

나에게 합리적인 것 같은데, 당신은 여전히 ​​세션 관리와이를 잠글 수 있습니다, 또는 당신은 아약스 요청을 통해 전달 된 첫 번째 페이지에 생성 된 일회용 요청 토큰을 생성 할 수있는, 그리고 ajax_functions.php 스크립트 – Scuzzy

+1

에 검증 AJAX 요청 보안과 관련된이 이전 질문을 살펴보십시오. http://stackoverflow.com/questions/1953954/detecting-ajax-in-php-and-making-sure-request-was-from-my-own-website – Bruce

답변

0

꽤 괜찮은 것 같습니다. 를 heres 내가 뭘 (매우 유사) 대비

내 구조

AJAX와 등

-A PHP CLASSE /를 _POST와 _GET 데이터를 처리하는 기능

-A JS 파일

그게 전부입니다.

클래스/함수가 올바른 _POST 또는 _GET 데이터를 확인하고 필요한 다른 유효성 검사를 수행합니다. 다음 json_encoded 수와 기능이 동일한 데이터를 전송 형태에 사용될 수 있기 때문에 나를 위해 잘 작동 JS

로 다시 전송 할 수 있습니다 내가 배열을 반환하는 기능,에서

.

관련 문제