検索

ホームページ  >  に質問  >  本文

PHP ページの HTML 要素に変数を遅延渡すか、更新された値に置き換えます

<p><br /></p> <pre class="brush:bash;toolbar:false;">/public/register.php ## [1] "public" 登録フォーム /public/js/checkout.js ## [2] 「パブリック」決済処理 /src/register.php ## [3]「private」追加処理 </pre>
P粉253800312P粉253800312472日前552

全員に返信(1)返信します

  • P粉895187266

    P粉8951872662023-08-18 12:40:57

    実行順序に問題が発生したと考えてください。たとえば、<div id="secret"> が DOM に存在しないときに、[2] スクリプトが実行されました。 <script src="js/checkout.js"></script> = <? を出力する前に、[1] に <script>var secret_var のようなものを追加するだけです。 = json_encode($secret_var); ?>;</script> のコンテンツなので、checkout.js が実行される前に公開されて既知となり、変数としてすでに存在します。要素の内容を読む必要はありません。または、window.onload などのイベントを使用して [2] 要素の読み取りを実行します。

    シークレット値が変更され、それを更新する必要がある場合は、定期的に変更を確認するか、使用する前に最新の値をリクエストすることができます。

    クライアントに出力するものはすべて秘密ではないことに注意してください。値を本当に保護したい場合は、サーバー側にのみ保持する必要があります。これは、支払いゲートウェイの API キーの場合には当てはまりません。など非常に重要です。サーバー側とは、シークレットをデータベースまたはセッションに保存することを意味します。その後、リモート サービスと対話する必要があるときはいつでも、PHP スクリプト (例: ajax) を呼び出してサーバー側でそのタスクを実行するだけです。これにより、シークレットの使用をサーバー側のみに分離することができ、その後、それをクライアント端末に渡すか、更新を要求します。

    返事
    0
  • キャンセル返事