2009-11-20 4 views
2

Amazon S3/CloudFront를 사용하여 플래시 파일을 저장하려고합니다. 이러한 파일은 구성원이 액세스 할 수 있도록 개인 파일이어야합니다. 이 작업은 mysql 데이터베이스를 사용하여 Amazon에 대한 링크가있는 각 파일을 저장함으로써 수행됩니다. 내 문제는 ... 많은 플래시 파일과 콘텐츠에 액세스 할 수있는 높은 수준의 회원은 URL을 찾아 주소창을 사용하여 URL을 찾아 간단하게 다른 회원과 공유 할 수 있습니다. 둘 다 http 프로토콜을 사용하고 있기 때문에 이것을 막을 수는 없습니까?Amazon S3와 같은 CDN을 사용하여 미디어 액세스 제어

htaccess에 대해 생각했지만 아마존의 자체 서버로는 확실하지 않습니다. Access Control 문서를 살펴 보았지만 조금 명확하지 않았습니다.

또한 여기있는 동안 누군가 파이어 폭스 도구> 페이지 정보> 미디어에 플래시 미디어가 나타나지 않도록하는 작업 방법을 알고 있습니까? 더미 로더에 대한 게시물을 보았지만 지적 해 준대로 작동하지 않습니다. 파일 확장명을 다운로드하고 변경할 수 있기 때문입니다. 밖에있는 사이트가 있지만 비싼 소프트웨어 라이센스 등을 피하려고하지 않습니다.

죄송합니다 너무 길어서 :) 큰 감사!

답변

4

마지막으로 ACL을 유지하고 S3의 모든 파일을 비공개로 설정할 수 있습니다. 특정 회원이 일부 파일에 액세스 할 수 있는지 확인하십시오. 그렇다면 해당 파일의 서명 된 URL을 생성합니다 (링크의 만료 시간을 설정할 수 있음).

+0

답장을 보내 주셔서 감사합니다. 그러면 Amazon에서 링크가 생성됩니까? 예를 들어, 사용자가 내 마지막에 파일을 구입 한 다음 S3 URL 생성기 스크립트의 일종으로 페이지를 재전송했는지 확인하겠습니까? 아니면 그것은 PHP 스크립트를 통해 이루어질 것인가? 데이터베이스에 무엇을 저장할 지 모릅니다. 파일 이름을 저장하려고했지만 프로세스가 확실하지 않았습니다. – whamo

+0

DB에 파일 이름을 저장 한 다음 멤버가 파일에 액세스 할 수 있는지 확인한 다음 서명 된 URL을 생성하십시오 (PHP로 할 수 있음, http://undesigned.org.za/2007/10/22/amazon- s3-php-class/documentation # getAuthenticatedURL) 그런 다음 사용자를이 URL로 리디렉션하거나 사용자 측에서이 URL을 사용하여 작업을 수행하십시오. getAuthenticatedURL에 lifeTime을 제공해야합니다. 그렇지 않으면 서명 된 URL이 24 시간 동안 작동합니다. – bhups

+0

그건 사업처럼 들리네, 포인터 친구를 위해 건배. – whamo