1

私はhtml5(Intel XDK)でモバイルアプリを開発し、phpでサーバー側をコーディングしています。私のアプリケーションでは、ユーザーはモバイルからサーバーに画像をアップロードできます。しかし、サーバー側のコードを変更して、ユーザーがセッションでログインしていることを確認すると、セッション変数は null を返します。私のコードは以下のようなものです。

var par= new FormData(document.getElementById('form')); 
var obj= new XMLHttpRequest();
...
obj.open('POST', 'url.com/upload.php');
obj.send(par);

サーバー側のコードでは、セッション変数を確認したいと思います。

if($_SESSION['user_logged_in'] == 1)

SOでこの問題を検索しましたが、結果にはいくつかの問題があります。たとえば、以下の投稿では、セッション ID をクライアント側で保持する必要があると回答していますが、セキュリティ上の問題から、これは適切な解決策ではないと思います。

XMLHttpRequest で php セッションを渡す方法

この問題に対する適切な実装はありますか? 前もって感謝します。

編集: session_start を呼び出しています。ログイン済みのチェックを削除すると機能します。Ajax で呼び出した他のページは、セッション変数に到達します。セキュリティに関する私の疑問は、私のセッション ID がソース コードに表示されることです。これはセキュリティ上の問題ではないでしょうか?

4

2 に答える 2

0

クライアント側でセッションIDを保持していない場合、サーバーによってどのように識別されますか? 強力に生成されたものでセッションIDを変更できます。これが最善の方法です。

そして、クッキーが有効になっているかどうかなどを確認してください。そのため、デバッグを行う必要があります。

于 2014-01-05T11:26:00.763 に答える