0

3 つの異なるページから呼び出される関数があります。各ページで、1 つの div に attr を追加しています。

例えば:

<div id="posts" page="home"></div>
<div id="posts" page="feed"></div>
<div id="posts" page="search"></div>

ifJava Script で page の値を取得し、それを PHP ファイルに渡しelseifますelse

より安全にするために、スクリプトが呼び出された URL を取得するために AJAX がロードする PHP ファイルで良いと思いました。

<?php
   if($page =='home' && $sourceUrl == 'the home url' )
   {
       // do this
   }
   elseif($page =='feed' && $sourceUrl == 'the feed url')
   {
       // do this
   }
   elseif($page =='search' && $sourceUrl == 'the search url')
   {
       // do this
   }
   else 
   {
       exit();
   }
?>
4

1 に答える 1

0

ええと、JavaScriptを使用して現在のページのアドレスを取得し、PHPファイルに送信できます。PHPを使用することもできますが、それではPHPスクリプトのアドレスしか取得できません。

とにかく、javascriptでこれを行うと、まったく安全ではなくなります。サーバーサイドスクリプトはユーザーからのすべての入力を検証するため、サーバーに何が送信されるかを心配する必要はありません。その逆ではありません。

PHPスクリプトで特定の値を確認するだけです。何か他のものを受け取った場合は、Ajax呼び出しを終了します。これは、単純で安全な(少なくともある程度)解決策です。

XSSを回避するために、PHPからページをロードするたびにHTMLに挿入されるランダムな文字列を生成できます。もちろん、ランダムである必要があります。誰かが他の場所からスクリプトにajax呼び出しを送信しないように、すべてのajax呼び出しでその文字列を送信します。

于 2012-04-13T12:59:47.253 に答える