NoriakiSaeki portfolio

WordPressプラグイン「PDF Image Generator」をWordPress 6.7.2およびPHP 8.2.22に対応させました

2025.04.10

「PDF Image Generator」は、WordPressのメディアライブラリにアップロードされたPDFファイルの表紙ページを自動で画像化し、アイキャッチ画像やサムネイルとして活用できるようにする便利なプラグインです。

🔍 主な機能

  • PDFの1ページ目を画像に変換
    ImageMagickまたはImagick(PHP拡張)を使用して、PDFの表紙を自動で画像化。
  • アイキャッチ画像として設定可能
    生成された画像を投稿や固定ページの**アイキャッチ画像(Featured Image)**として利用可能。
  • WordPressのメディアライブラリに統合
    PDFとサムネイル画像は紐付けられ、ひと目で管理しやすい。
  • 一括サムネイル生成機能
    既にアップロード済みのPDFに対しても、サムネイルを一括生成・再生成が可能。
  • 自動削除 & 自動同期
    PDFの削除時にサムネイルも自動削除(オプションで残すことも可能)。
  • 画像の圧縮品質・サイズの指定
    最大幅・高さや画質(Quality)を指定して、用途に合ったサイズで出力。
  • CMYK → RGB変換対応
    印刷用途のCMYKカラープロファイルを自動でRGBに変換(ICCプロファイルを内蔵)。

大変便利なプラグインですが、長年アップデートが行われていないため、セキュリティ面での不安がありました。
同様の機能があるプラグインに変更した場合、出力部分のコード変更など、面倒もあり、セキュリティ対策のカスタマイズしました。

セキュリティ強化ポイント

  • XSS(クロスサイトスクリプティング)対策
    JavaScript変数へのPHP出力時に esc_js() を利用し、悪意あるコードの挿入リスクを軽減。
  • CSRF(クロスサイトリクエストフォージェリ)対策
    wp_nonce_field()wp_verify_nonce() を活用し、設定フォームの改ざん防止を実装。
  • GETパラメータのサニタイズ
    $_GET['run'] などのパラメータは sanitize_text_field() により処理し、安全性を確保。
  • URLのエスケープ処理
    $_SERVER['REQUEST_URI'] からリンクを生成する際に esc_url() を利用し、出力の信頼性を担保。

🛠 その他の修正内容

  • WordPress 6.7.2にて発生し得るセキュリティ警告を回避。
  • readme.txt を最新のWordPress対応バージョンへ更新。
  • バージョン番号を 1.6.0-secure に変更し、改修内容が分かるように明示。

あくまでも個人的なカスタマイズですので、ご利用になられる場合は自己責任でお願いします。

Zipファイルのダウンロード

関連記事