最近PDF出力関連のカスタマイズを行っていて気が付いたのですが、納品書等のPDFが管理画面にログインしていない状態でも閲覧できることがわかりました。
条件としてはゲスト購入の受注データです。
会員が購入したデータは「No permission」になります。
usceshop.class.php
の中の該当箇所
if( !is_user_logged_in() && !$this->is_order( $mid, $oid ) )
この分岐ではゲスト購入の場合はtrueが返ってきますので未ログイン状態でも「No permission」はスルーされます。
私が行った対処としてその後に設置されてるフィルターで再度ログインの分岐をかけました。
function do_not_view_not_logged_in( $order_print ) {
if( !is_user_logged_in() ) {
die( 'Error' );
}
return $order_print;
}
add_filter( 'usces_filter_orderpdf_path', 'do_not_view _not_logged_in' );
add_filter( 'usces_filter_orderpdf_path_ex', 'do_not_view _not_logged_in' );
PDFには住所等の個人情報が書かれてますので、未ログインでも見えてしまうのはあまりよろしくないと思います。
アップデートで対応できましたらお願いします。
——————————————-
WordPress のバージョン:5.4.2–ja
Welcart のバージョン:1.9.31
PHP のバージョン:7.3.16
ご利用のテーマ:デフォルトテーマ
症状を確認したブラウザ:Chrome
サーバー:Xserver
SSLの利用:常時SSL
——————————————–