2012-05-01 11 views
0

私は、クエリ文字列を持つPHPスクリプトのurlrequestをロードするas3スクリプトを持っていますが、正しく動作するかどうかはわかりません。このPHPスクリプトは正しいですか?

AS3:

userLoad=new URLLoader; 
userReq=new URLRequest("http://users/redirect.php?goto=u"+meFB+"/char.xml"); 
userLoad.addEventListener(Event.COMPLETE,userLoaded);` 

PHP:私は最近、パスにディレクトリを追加し、もう動作していないよう

$goto=$_REQUEST['goto']; 
return readfile($goto);` 

...

私は自分の質問に答えるために94ポイント以上必要ですので、私は答えをここに残しておきます:試してみませんでしたが、私は本当です文字列はスラッシュスペースやその他の文字を避け、代わりにcharエンコーディングを使用する必要があります。もし誰かが確かに答えを残してください知っている。私はちょうどスラッシュを避け、魅力のように働いています。あなたが話していたセキュリティ侵害のリクエスト方法もありますか?私は知っていないので、私はPHPで良いverryではないが、私はそれが良いかどうかを得るためにそれを変更することができます。あなたの答えとコメントbtwに感謝します。

+14

FYI、あなたが作っていることは、セキュリティの立場から絶対に恐ろしいものです。誰かがあなたのサーバーから必要なものを得るためにこれを使うだけでなく、設定に応じてあなたをプロキシとして使うことができます。 – Brad

+0

はセキュリティに関して同意しますが、なぜあなたはuを必要としますか?goto = u "+ ... +"すぐにパスを変更したり、間違っていませんか? – Daxcode

+0

"char.xml"が見つかる文字列ディレクトリ名が完成しました –

答えて

2

他の方法もありますが、これは分かりやすく、セキュリティホールではありません。 (セキュリティホールと言うと、現在のコードでは誰も最小限の労力でシステムに完全にアクセスできます)。

ここでは、ハードコーディングを使用しています。

<?php 
switch($_GET['goto']){ 
    case 'char': 
    readfile('char.xml'); 
    break; 

    case 'uchar1': 
    readfile('directory/uchar.xml'); 
    break; 

// repeat for all files 
} 
?> 
+0

true!アクションスクリプトに触れることなく、後でファイル構造を変更することができます。 – Daxcode

+0

セキュリティホールは私が現在使っているリクエストメソッドですか? –

+0

投稿するリクエストメソッドを変更する必要がありますか?答えてください –

関連する問題