私は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 をクライアント側で保持する必要があると回答していますが、セキュリティ上の問題から、これは適切な解決策ではないと思います。
この問題に対する適切な実装はありますか? 前もって感謝します。
編集: session_start を呼び出しています。ログイン済みのチェックを削除すると機能します。Ajax で呼び出した他のページは、セッション変数に到達します。セキュリティに関する私の疑問は、私のセッション ID がソース コードに表示されることです。これはセキュリティ上の問題ではないでしょうか?