Новый PHPSESSID создается при вызове запроса к базе данных (с использованием Directus) - PullRequest
0 голосов
/ 11 мая 2018

Контекст: Я использую XAMPP (с версией PHP 7.0.29) и безголовый CMS Directus.

Чего я хочу достичь: Я хочу создатьодин логин на основе PHPSESSID.Как зарегистрированный пользователь, у вас есть возможность доступа к данным в базе данных.

Что происходит в данный момент: Я могу войти в систему, а также считывать данные из базы данных.Но в моей папке / tmp xampp я вижу, что всякий раз, когда выполняется запрос к базе данных, добавляется новый файл PHPSESSID.

Ожидаемое поведение: При создании запроса к базе данных новый файл PHPSESSID отсутствует.должен быть создан.

Что я думаю: Поскольку я использую Directus, а PHP SDK находится в подпапке моих файлов PHP, я мог бы предположить, что местоположение PHP перепутано и устанавливаетновая сессияИли что Directus нуждается в новой СЕССИИ для запроса к базе данных.Я не уверен, так что вот ветка.

Вот самые важные выдержки из моих файлов.И имейте в виду, что мой Frontend находится в localhost / html, а SDK directus находится в localhost / directus-build.

login.php (Интерфейс)

<?php session_start(); ?>

[...Login From...]

<script>
$("#login").submit(function(e){
  e.preventDefault();
  var email = $('#email').val(),
  password = $('#password').val();

  $.ajax({
      type: "POST",
      url: "querys/login.php",
      dataType: 'json',
      cache: false,
      data: {
        email: email,
        password: password
      }
  });
});
</script>

querys / login.php (логика)

<?php
session_start();
require '../vendor/autoload.php'; // Needed by Directus

$loginProcessor = \Directus\SDK\ClientFactory::create('TOKEN', [
  'base_url' => 'http://localhost/directus-build/',
  'version' => '1.1'
]);

// Check if email is in database
$userProcessor = $loginProcessor->getItems('users', [
  'filters' => [
    'email' => $_POST['email'] //i use POST here only for stackoverflow example
  ]
]);

Когда я удаляю $ userProcessor, PHP не создаст новый файл PHPSESSID в / tmp.Очевидно, что второй PHPSESSID поступает через запрос к базе данных от Directus.

...