2012-03-13 2 views
0

.htaccess 또는 다른 것을 사용하는 사용자에게 보이지 않는 페이지를 만들 수 있는지 알고 싶습니다.AJAX를 통한 동적 콘텐츠 검색에만 사용되는 웹 페이지를 차단합니다. (.htaccess?)

일부 배경 정보와 몇 가지 다른 질문 :

내가 동적 콘텐츠 로딩을 많이 수행하는 웹 응용 프로그램을 짓고 있어요. 지금은 그냥 ajax.php 파일에 대한 ajax 호출을 수행하고 있으며 POST 매개 변수에 action : action을 지정합니다. 이 작업을 수행하면서 클래스의 메서드를 호출하면이 클래스는 JSON 또는 HTML을 반향합니다.

하지만 나는 거의 완전한 HTML 페이지 (SQL과 PHP 사이에서)를 반환하는 함수를 가지고 있는데,이 함수는 더러워 보입니다. 이 콘텐츠에 대해 별도의 .php 페이지를 만든 다음 해당 페이지에서 콘텐츠를로드하는 것이 더 좋은 옵션입니까? (나는 Jquery를 사용하기 때문에 콜백으로서 .load 함수가된다.)

이 방법으로 볼 수있는 문제점은 사람들이 .php 페이지를 찾아서 액세스 한 다음 관련이없고 관련 정보를 볼 수 있다는 것이다. 아니 누워 또는 뭔가. 그래서이 페이지를 차단하고 싶습니다. .htaccess로 어떻게 할 수 있습니까?

지금 내가 완전히 잘못하고 있다고 생각한다면 그냥 말해주세요. 내 구현의 기본 상황 : 검색 양식에 클라이언트 번호 입력 -> 입력 매개 변수가있는 ajax 호출 action : getclientinfo, id : 필드의 값 -> ajax.php가 올바른 클래스 및 메소드를 가져옵니다. -> .class.php 자신의 메서드를 실행하고 입력이 괜찮은지 확인한 후 데이터베이스의 내용으로 페이지를 구성하는지 확인합니다. ->이 모든 것은 JSON처럼 반환됩니다.

{성공 : 확인; 콘텐츠 : 전체 콘텐츠}

-> jquery로 성공 부울을 확인한 다음 현재 페이지에 전체 콘텐츠를로드합니다.

좋은 방법인가요, 아니면 나쁘게하는 것입니까? 나는 ajax.php 페이지에서 자신이 괜찮다고 느끼지 않습니다. 대체 무슨 일이야? 사전에

감사합니다. 나는이 웹 사이트에서 처음으로 많은 답변을 얻었습니다.

+0

사용자가 스누핑을하거나 정보를 액세스하지 못하도록 권한을 부여해서는 안되며, 로봇의 사이트 스크래핑을 막으려 고하고 있습니까? – pp19dd

+0

만약 내가 별도의 PHP 페이지를 만들 것이라고 그들은 헤더 또는 멋진 레이아웃을하지 않습니다. 그래서 저는 사람들이 그들을 보길 원치 않습니다. 그러나 나는 또한 로봇을 차단하는 방법을 알고 싶다. 나는 로봇에 대해 뭔가를 봤어. – Anonymous

+0

Gotcha. 네가 조직적인 문제를 다루는 것 같아. 아래에 더 이상 답변을 작성할 수 있는지 알려주도록하겠습니다. – pp19dd

답변

0

액세스 제어 및 조직이라는 두 가지 문제가있는 것처럼 보입니다.

기본 인증 수준이있는 페이지에 대한 액세스를 프로그래밍 방식으로 잠글는 것이 가장 좋습니다 (PHP에서는 세션 데이터 사용). 그렇지 않으면 액세스 제어의 가장 기본적인 형태는 아파치의 .htaccess 파일로 제한하는 것이지만 쿼리 문자열/규칙에 대한 규칙은 혼란 스러울 수 있습니다. 다음 예를 참조하십시오. Is it possible to redirect post data?

이러한 잠금은 복잡하기 때문에 AJAX를 덤프하고 전체 완료 페이지를 렌더링하는 것이 논리적 일 수 있습니다.

개념적으로 설명하는 내용은 콘텐츠와 로직을 분리해야한다는 것입니다. 이것은 좋다. 그러나 개발 프로세스를 다음 단계로 진행할 때입니다.

로직 및 데이터 쿼리 만 PHP 파일에서 수행하는 곳으로 코드를 다시 작성하십시오. 둘째, 스마티 라이브러리 http://www.smarty.net/docs/en/

을 사용하여 페이지의 모든 HTML을 출력하십시오. 스마티 템플릿 시스템은 꽤 확장 가능합니다.여기에는 상속 기능이 있으므로 페이지 변형을 생성하고, 템플릿을 포함하며, HTML 주위에서 원을 실행합니다. 소수의 Smarty 명령문으로 인생을 훨씬 쉽게 할 수 있습니다.

+0

저는 AJAX를 축소하고 거의 항상 페이지를 완성합니다. Ialso는 htaccess로 내 "관리 파트"를 보호했습니다. 내 관리 컨텐트를 보호 할 수있는 나쁜 방법입니까 아니면 암호가 저장되는 한 꽤 저장하는 것입니까? 그리고 멋진 똑똑한, 감사합니다;) 귀하의 답변을 수락 – Anonymous

관련 문제