나는 시험판에 대한 질문을 생성하는 웹 응용 프로그램을 개발 중입니다. 따라서 보안은 프로젝트에서 매우 중요합니다. 재판에 대한 질문의 무승부가 완료되면 응용 프로그램은 PDF 문서를 만듭니다. 그리고 문서의 바닥 글에 암호화 된 문자열을 쓰기 :PDF 문서를 고유하게 만드는 방법은 무엇입니까?
public function Footer()
{
if ($this->logo != null) {
$this->Image($this->logo, 20, 278, 10, 10, 'PNG', '', 'C', false, 200, '', false, false, 0, false, false, false);
}
$this->SetY(-20);
$this->SetFont('helvetica', 'I', 8);
$this->Cell(0, 20, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
$this->Cell(0, 20, date("d/m/Y"), 0, 0, 'R', 0, '', 0, false, 'T', 'M');
if ($this->text_crypter != null) { // this is the encrypted string
$this->SetY(-7);
$this->SetFont('helvetica', '', 6);
$this->MultiCell(0, 7, $this->text_crypter, false, 'L', false, 0, '', '', true);
}
}
당신이 암호화 된 문자열은 각 페이지의 바닥 글에 기록됩니다 볼 수 있듯이.
는하지만 유일하게 암호화 된 문자열을 복사하여 다른 문서에 붙여 넣을 수 있습니다 악의적 인 사람이있을 수 있기 때문에 문서가 내 응용 프로그램에서 만들어진를 식별 하는 것만으로는 충분하지 않습니다.
그렇다면 내 앱에서 제공되는 것으로 입증 될 PDF 문서를 만드는 방법은 무엇입니까? (질문에 대한 코멘트에서 수집 ...)
앱에서만 사용할 수있는 개인 키를 사용하여 디지털 서명으로 서명하십시오. – mkl
당신이 알고있는 masterpw로 pdf를 잠급니다. 누군가는 여전히 ID 문자열을 복사 할 수 있습니다. 그러나 pdf가 마스터 pw로 잠겨 있기 때문에 pw 보안/보안을 유지하면 암호를 복제 할 수 없습니다. –
@pheromix "어떻게하는지"- PHP PDF 서명 라이브러리에 익숙하지 않아 Java 또는 .Net 컨텍스트의 옵션을 알고 있습니다. – mkl