セキュリティを備えたナレッジ ツリーからの php ストリーミング pdf 出力は、誰もが経験したことがあるでしょう。
PHP スクリプトを作成しようとしていますが、ナレッジ ツリーのセルキュイティに問題があります。セキュリティなしのナレッジツリーのテストを行いましたが、機能しています。人前で見たくないので。スタッフ用です。
PHP コード:-
Security :-
<form class="login-form" action="https://<kt server name>.knowledgetree.com/plugins/passwordResetPlugin/loginResetEmailDispatcher.php" method="POST" name="login">
<input type="hidden" name="action" value="login" />
<input type="hidden" name="cookieverify" value="" />
<input type="hidden" name="redirect" value="https://<kt server name>.knowledgetree.com/action.php?kt_path_info=ktcore.actions.document.view&fDocumentId=<doc ID>" />
<input name="username" type="hidden" value="example@mail.co.uk" />
<input name="password" type="hidden" value="password" />
<input id="downloadButton" type="submit" value="Login" style="display:none" />
</form>
No security:-
<form method="post" action="test.php">
<input type="hidden" name="url" value="https://<kt server name>.knowledgetree.com/action.php?kt_path_info=ktcore.actions.document.view&fDocumentId=<doc ID>" />
<input id="downloadButton" name="submit" type="submit" style='display:none' />
</form>
<script language="javascript">
document.getElementById("downloadButton").click();
</script>
<?php $destination_folder = 'downloads/';
$url = $_POST['url']; (no security)
$url = $_POST['redirect']; (security)
$newfname = $destination_folder . basename($url);
$newname = $destination_folder . basename($url, "").".pdf";
$file = fopen ($url, "rb");
if ($file) {
$newf = fopen ($newname, "wb");
if ($newf)
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
}
}
if ($file) {
fclose($file);
}
if ($newf) {
fclose($newf);
sleep(1);
rename ($newname, "downloads/example.pdf");
} ?>
<iframe src="/downloads/example.pdf" style="border: 0; position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%"></iframe>
どうすればこれができるか教えてください。
私はphp curlを使用する必要があると思います。