동일한 최상위 도메인을 공유하는 Symfony 웹 사이트에 대해 단일 인증 방법을 공유하고 싶습니다. 모든 하위 도메인에 유효한 쿠키를 사용하고 세션 데이터를 유지하기 위해 sfPDOSessionStorage를 사용합니다. 난 (프로덕션 서버에서 Symfony Session 데이터가 암호화되는 이유는 무엇입니까?
이 메커니즘 내 개발 시스템에서 내 동료의 컴퓨터에all:
storage:
class: sfPDOSessionStorage
param:
database: doctrine
db_table: sessions
session_name: myauth
db_id_col: id
db_data_col: sess_data
db_time_col: time
session_cookie_domain: ".mydomain.net"
session_cookie_lifetime: 86400
session_cookie_path:/
가 잘 작동하지만 서버에서하지 않습니다 :
factories.yml이 두 프로젝트에 다음과 같이 설정 하위 도메인을 전환 할 때 자격 증명을 요청했습니다.) 두 환경에서 볼 수있는 유일한 차이점은 데이터가 저장된 형식입니다. 데이터는 암호화 된 서버에서 암호화 된 것으로 보이지만 내 컴퓨터에는 일반 텍스트로 나타납니다. 내가 예를 게시 할 수 있도록 민감한 데이터는 여기에 없습니다 :
데브 환경 sess_data :
symfony/user/sfUser/lastRequest|i:1295349567;symfony/user/sfUser/authenticated|b:0;symfony/user/sfUser/credentials|a:0:{}symfony/user/sfUser/attributes|a:1:{s:30:"symfony/user/sfUser/attributes";a:1:{s:7:"referer";s:0:"";}}symfony/user/sfUser/culture|s:2:"fr";
생산 서버 sess_data :
BB7HBTsQg75NNGvb9Z8sexldqbS79YzDgrztQzSFhsUpEk2EeCOtKw8FQbm31vLIRyr3ZP_klwZFXywnkdem27naIWjIVBP_WwpwNRg4IMj1J0fIfxJN_UOw2RbCWh91L5ryCD_7_ynN2UtxfuJwUWnxoGuUvqD8YQxNdczQipmktPVFk1mVfKE1-BsrdHHLIXH_gi44-Bos3f-EshE5skuQpachnY1FkgvvvOuXEj7zxPflgA3xtGoqJxkDijT-uKnQCH4TrimhvkIRGCt0oVuOdsAJzuWW6ijgPCD3X767mSIzm_lQmJoSGxDB7fAgFihB7Ljoq0tsysC62BqTYFB6dTnuZoj3KON8lXlyNJZVyLgTWZ3EYoObtc8jCKYNDonSjEqzTvwg4NJRVoB5ePx61iTqbDd9qFlkryzj9J8.
내가 암호화 유형을 사용하는 단서 없어 데이터베이스에 정보를 저장하는 것이 아니라 이것이 내 문제의 근원인지 확신 할 수 없지만 이것이 유일한 차이점이므로 다른 설명은 보이지 않습니다. (PHP와 MySQL 버전은 동일하고, 우분투 10.10과 데비안 스퀴즈 서버 측).
세션 데이터는 단순히 base64로 인코딩 된 것으로 보입니다. 디코딩 한 결과는 실제로 암호화 된 문자열입니다. AES 또는 다른 양방향 암호화 방법을 사용 중일 수 있습니다. 두 서버의 차이점을 알 수 없습니다. 보안 플러그인이 설치되어 있습니까? – Jestep