저는 절대적으로 중요한 데이터를 포함하는 프로젝트 개념을 다루고 있습니다.웹 서버가 해독 중입니까?
가장 중요한 부분은 암호화하여 저장해야한다는 것입니다.
웹 서버가 파일을 제공하는 암호화 된 파일 시스템으로는 충분하지 않습니다.
데이터를 해독하는 키는 해시 및 타임 스탬프와 함께 보안 연결의 요청 URI로 전달되어야합니다.
타임 스탬프를 기반으로하는 해시 키와 파일 이름은 URI의 유효성을 검사하여 목록에 저장하므로 한 번만 액세스 할 수 있습니다.
중요한 부분은 웹 서버가 디스크에서 파일을 가져 와서 요청 URI에서 얻은 키를 사용하여 암호를 해독해야한다는 것입니다.
또한 효율적이고 빠릅니다. 또한 전체 파일을 검사 할 필요가없는 암호화 방법이 필요합니다. 파일을 점진적으로 해독 할 수 있습니다. 나는 AES가 원자 단위로 암호화 된 특정 블록 크기로 이것을 할 수 있다고 생각한다.
그래서 한 옵션은 소스 파일을 PHP 스크립트로 읽는 것입니다.이 스크립트는 aes를 사용하여 암호를 해독하고 해독 된 내용을 인쇄합니다. 그런 다음 스크립트는 이전 데이터를 잊어 버리고 eof까지 다음 청크로 계속 진행합니다.
만약 내가 정의 된 파일 크기의 덩어리를 별도로 암호화 할 수 없다면, 파일을 제공 할 때 그것들을 연결하고 똑같이 할 수 있습니다. 그러나 내가 발명하지 않아도되는 하나의 표준을 고수하고 싶습니다. 표준 라이브러리를 사용하여 파일을 암호화 할 수도 있습니다.
그러나 이것은 매우 비효율적입니다.
apache/lighttpd/nginx 모듈이나 더 나은 방법을 알고 있습니까?
음 ...'mcrypt_decrypt()'를 사용하면 어떨까요? // 편집 : 성능 문제에 대해 잘 모르겠다 ;-) – thedom
내가 스크립트에서 그렇게한다면. 하지만 파일을 웹 서버, PHP 출력 버퍼를 사용하여 싶습니다 .... –
내가 지금 생각할 수있는 유일한 솔루션은 해시, PHP에서 타임 스탬프를 확인하고 http://php.net/manual /en/function.passthru.php –