질문/조언질답게시판
Extra Form
PHP PHP 8.1
CMS Rhymix 2.x

www 도메인에는 라이믹스가, 그리고 서브도메인은(이해를 위해 subdomain.xetown.com 이라고 하겠습니다) 다른 php프로그램이 설치되어 있습니다.

 

물론 라이믹스와 서브도메인이 php-fpm 실행되는 유저 계정은 다릅니다.

 

<?php
chdir('라이믹스가 설치된 폴더');  // 외부페이지가 어느 폴더에 있는지에 따라 다릅니다.
include 'common/autoload.php';
Context::init();
echo Context::get('logged_info')->nick_name;

 

위 방법을 통해서 subdomain.xetown.com 에서 www.xetown.com 에 현재 로그인된 유저 정보를 가져오려고 하는데

php에서 null값을 출력하더라구요

 

보안적으로 안될것같다는 예상이 되긴 하는데, 원래 안되는게 맞을까요?!

 

 

질문전에 검색을 해서 https://xetown.com/tips/1096625 을 찾았고

 php.ini을 수정해보았으나 저도 마찬가지로 작동을 하지 않더라구요...

  • profile

    로그인유지된 정보들은 대부분 SESSION을 통해서 통신합니다.
    남의 도메인의 SESSION값을 탈취할 수 있다는 것은 해당 사이트에 치명적인 보안 취약점이 될 수 있겠지요?
    왼만하면 안건드리는것을 추천하고, SSO관련 기능을 알아보시는게 좋겠습니다.

    도메인설정에 보시면 SSO관련 설정이 있어 도메인이 바뀌어도 로그인정보를 공유하는 옵션이 라이믹스에 있거든요.

    는 폐기일보직전의 기능이군요.. 같은 서브도메인내에서는 님이 링크해주신 게시글의 댓글을 보시는게 좋겠네요


    다만 그 다른 프로그램에서 라이믹스의 정보를 가져올 수 잇는 방식으로 개발이 되어야겠지요...

  • profile profile
    단순히 config.inc.php 인클루드로는 안되겠군요
    감사합니다!
  • profile
    라이믹스 최신 버전 기준으로 php.ini의 session.cookie_domain 설정을 따르므로 더이상 코어를 수정할 필요는 없습니다.

    단, 설정 변경 후 로그아웃 -> 재로그인하시거나 브라우저의 쿠키를 모두 비워야 변경사항이 적용됩니다. 기존 세션이 살아있는 동안에는 설정을 바꿔도 적용되지 않습니다. 관리자라면 테스트를 위해 쿠키를 비울 수 있겠지만 일반 사용자들에게 쿠키를 비우라고 요구하기는 어려우니, 사실상 한 번 설정하면 변경하기 힘든 부분입니다.
  • profile profile
    아하 혹시 라이믹스의 코어는 php8.0, 외부프로그램은 php7.4로 작동하고
    fpm을 실행하는 리눅스 유저 계정이 달라도

    session.cookie_domain 만 제대로 설정되어있으면 문제가 없을까요?!
  • profile profile
    두 계정의 세션 핸들러(session.save_handler)와 저장 경로(session.save_path)가 같아야 합니다.
    계정이 다르다면 퍼미션 문제 때문에 기본값인 files 세션 핸들러는 사용할 수 없을 테니
    memcached, redis 등 다른 방법을 찾아보셔야겠네요.
  • profile profile
    감사합니다!