2012-11-12 8 views
0

하나의 도메인에만 PDF 퍼가기가있는 읽기 전용 (저장 또는 다운로드 안함) PDF 임베드를 허용하는 방법이나 서비스가 있습니까? 나는 Scribd 및 Slideshare와 같은 서비스가 있다는 것을 알고 있지만, 문제는 개인 옵션이있는 반면, 내가 말할 수있는 한 서비스가 퍼가기를 허용 목록에 추가 할 수 없다는 것입니다 (예 : 특정 도메인에만 삽입을 허용). Vimeo는 동영상과 나는이 서비스에 대해서도 비용을 지불하지 않습니다. 어떤 아이디어?화이트리스트 PDF 퍼가기

PDFJS도 살펴 봤는데 NodeJS 구현이있는 것 같아서 PDFJS가 서버 측의 서버에서 PDF를 가져 와서 원본 PDF URL을 노출하지 않고 클라이언트에 스트리밍 할 수 있다고 생각했습니다. 그러나 나는 PDFJS에 대한 좋은 문서를 찾을 수 없었다.

도움을 주시면 감사하겠습니다.

+0

PDF 퍼가기 란 무엇입니까? 명확히하십시오. – srquinn

+0

PDF 문서를 웹 사이트에 인라인 컨텐츠로 포함시키는 방법. YouTube 또는 Vimeo 퍼가기와 같습니다. – Yuriy

+0

그래서 최종 사용자가 로컬에서 다운로드 할 수 없어도 PDF를 HTML 문서로 프레임 화하기를 원하십니까? – srquinn

답변

1

이것은 모든 HTTP 서버에서 수행 할 수 있지만 질문에서 Node를 언급 한 이후로 우리는 해당 기술의 문제점을 해결할 것입니다. 익스프레스 프레임 워크도 사용하고 있습니다.

먼저 PDF를 서버의 정적 파일로 호스팅하십시오. 그런 다음 PDF 요청을 감지하는 미들웨어를 등록합니다. 요청하는 호스트 이름이 "승인 된"도메인 목록과 일치하지 않으면 오류를 클라이언트에 다시 제공합니다. 도메인이 승인되면 PDF가 제공됩니다. 이것은 도메인/IP 또는 Nginx 설정의 "허용"블록에 의한 액세스를 제한하는 아파치의 .htaccess 파일과 다르지 않습니다. 다음은 미들웨어 기능을 간단히 살펴 ...

var approved = []; // Add your approved domains here. 

// Make sure this middleware comes before app.use(express.static) 
app.use(function(req, res, next){ 
    if(req.url == '/path/to/PDF') { 
     if(approved.indexOf(req.headers.host) { 
      next(); 
     } else { 
      next(new Error('Nu uh uh!')); 
     } 
    } else { 
     next(); 
    } 
}); 

가 소스 코드를 복사 할 경우에도, 그들은 서버에서 오류가 발생합니다이 방법

는 (아마 403해야이지만, 사람들은 의미 할 수 있습니다 스스로 결정)

+0

팁 주셔서 감사합니다,이 작동 할 수 있습니다. – Yuriy