Итак, у меня есть PHP на сервере и мое приложение angular локально. за каждый мой запрос я получаю другой идентификатор сеанса PHP на вкладке сети. Из-за этого я не могу проверить мой сессионный повар ie, так как он не существует. Когда я связываю приложение и помещаю его на сервер (тот же сервер, что и файлы php), то sessionID остается тем же, поэтому у меня эта проблема возникает только локально. Я добавил правильный CORS в мой файл php (чуть выше session_start()
) и отправляю запрос withCredentials: true
, но сессия всегда отличается.
Есть ли что-то, на что мне нужно обратить внимание? Я немного новичок PHP и более опытен в Angular, поэтому любая помощь приветствуется.
Angular почтовый запрос:
loginSession(form: string) {
const options = {
headers: new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8'),
withCredentials: true
}
return this.httpClient.post<any>(`${this.SERVER}/function.php`, form, options);
}
Response Headers:
access-control-allow-credentials: true
access-control-allow-headers: Content-Type
access-control-allow-methods: POST, GET, OPTIONS, DELETE, PUT
access-control-allow-origin: http://localhost:4200
cache-control: no-store, no-cache, must-revalidate
content-type: text/html; charset=UTF-8
date: Wed, 15 Jan 2020 08:44:27 GMT
expires: Thu, 19 Nov 1981 08:52:00 GMT
pragma: no-cache
server: Apache
status: 200
vary: Accept-Encoding,User-Agent
x-content-encoding-over-network: gzip
Request Headers:
:authority: mysite.com
:method: POST
:path: /function.php
:scheme: https
accept: application/json, text/plain, */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
cache-control: no-cache
content-length: 68
content-type: application/json; charset=UTF-8
cookie: PHPSESSID=93cfc63e3b04eb7bf6f633ae1b11fba7
origin: http://localhost:4200
pragma: no-cache
referer: http://localhost:4200/
sec-fetch-mode: cors
sec-fetch-site: cross-site
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
Спасибо