私は試用版の質問を生成するウェブアプリを開発しています。セキュリティはプロジェクトで非常に重要です。試用のための質問の描画が行われると、アプリはそれの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