テーマプレビューの使い方のアドバイスについて校正をお願いします

当サイトの別の管理者を支援する際、以下のようなアドバイスをしましたが、100% 正しいかどうか確信が持てません。ご存知の方、内容を確認し、誤っている箇所があれば教えていただけますでしょうか。

これは、テーマプレビューボタンを使用する際の文脈です。

テーマは単なる CSS と JavaScript であり、SQL クエリから投稿のテキストが返された後に実行され、データベースを更新しないため、私の知る限り、完全に安全です。最悪の場合、プレビュー中の単一の HTML ページが崩れる程度です。

残念ながら、テーマは 100% 安全ではありません。プレビューは管理者アカウントのコンテキストで実行され、あらゆるルートに対して AJAX 呼び出しを行う可能性があります。

悪意のある人物はテーマを使って相当な被害を与えることがあり、ソースコードを確認すれば明白ですが、技術的には可能です。

ありがとうございます。

文脈として補足しておくと、彼は 投稿内の単語をリンク化 の機能を、Prolog の リファレンスマニュアル と連携するようにフォークしています。これにより、述語指示子[module:]name{/|//}arity?)が使用された場合、例えば append/3 のように、その述語に直接リンクされます。

悪意のある AJAX 呼び出しが追加されているとは見ていませんが、他の人が作成したテーマをダウンロードする際に、この点を確認しておくのは良いことです。 :smiley:

コンポーネント開発に関するやり取りは、興味のある方のために、公開されている 投稿 で確認できます。