2011-09-05 2 views
0

PHP를 사용하여 사용자가 로그인 할 필요가없는 많은 HTML 페이지를 포함하는 응용 프로그램을 개발 중입니다 (실제로 요구 사항). 페이지는 매우 예측 가능한 다른 폴더에 배치됩니다. 예 : www.abc.com/book1/chapter1/lesson1.php, www.abc.com/book1/chapter1/lesson2.php 등PHP에서 웹 페이지에 대한 예측할 수없는 URL을 할당하는 방법

누군가가 수업 1의 경로를 알고 있으면 자동으로 경로를 알고 있습니다. 장 폴더에있는 모든 다른 레슨.

www.abc.com/book1/chapter1/lesson1.php에 대한 요청이있는 경우 브라우저 주소창에 표시되는 경로는 www.abc.com/book1/chapterHFG564/6756과 같은 형식입니다 /lesson1.php 또는 다른 예측할 수없는 URL? 나는 그것이 가능한지 아는가조차 모른다!

+0

그래서 사용자 로그인 대신 예기치 않은 URL을 사용 하시겠습니까? – emaillenin

+0

예. 접근 방식입니다. – samach

+0

당신이 말한 것처럼 www.abc.com/book1/chapterHFG564/6756/lesson1.php와 같이 예측할 수 없더라도 말입니다. 다른 사람이이 주소도 알아 내면 마지막으로 lesson2.php (www.abc.com/book1/chapterHFG564/6756/lesson2.php)로 변경하여 나머지 레슨을 쉽게 찾을 수 있습니다. 다음 간단한 URL과 동일합니다. – emaillenin

답변

1

페이지 URL의 상대 경로와 서버 타임 스탬프의 MD5 해시를 만들어 예측할 수없는 문자열을 만들 수 있습니다 (이것을 "페이지 키"라고 부름). 그런 다음 페이지 키 + 상대 URL 연결을 영구 저장소 (관계형 데이터베이스 또는 - 속도 -)를 사용하여 나중에 조회 할 수 있습니다.

그런 다음 "key"매개 변수를 사용하는 스크립트 (예 : "http://www.abc.com/page_mapper.php")를 작성하고 지정된 키에 대한 상대 URL을 조회 한 다음 연관된 내용을 읽습니다 (있는 경우), "고객에게 전달"합니다.

마지막으로 URL rewriting rule을 추가하여 들어오는 요청 (예 : "http://www.abc.com/book1/chapter2/abCvx9100xvz?")을 스크립트에 매핑 할 수 있습니다 (예 : "http://www.abc .com/page_mapper.php? key = abCvx9100xvz == ") 모든 설정이 완료되었습니다.

물론 URL을 아는 사람은 누구나 페이지에 액세스 할 수 있지만 원하는 것은 무엇일까요? 즉 사용자 A가 사용자 B에게 이메일 (사용자가 볼 수있는 링크)을 이메일로 보내고 사용자 B가 이메일을 볼 수 있다면 괜찮습니까?

0

예측할 수없는 경우 그렇게 할 수 없습니다. 당신은 올바른 URL을 사용자를 리디렉션 할 수있는 하나의 PHP 파일을 모두 지시 할 수 있습니다

+0

죄송합니다 ... dint get u. 불가능한게 뭐야? – samach

+0

@Salmanmahmood : "PHP에서 웹 페이지에 대한 예측할 수없는 URL을 할당하는 방법" – genesis

0

U가 그런 방식으로 URL을 인코딩 할 수 있는지 확실하지 않지만 모든 스크립트가 다른 MEGA 스크립트로 리다이렉트되어 세션을 사용하도록 확실히 할 수 있습니다. 변수 또는 파일을 확인하고 사용자가 어디에서 왔는지 확인하고 그에 따라 진행하십시오. MEGA 스크립트가 다른 페이지로 이동하면 세션 변수를 먼저 저장합니다. 리디렉션 방문 페이지가 열리면 확인할 수 있습니다.

관련 문제