컴퓨터에서는 접속이 끊긴적이 없는데 모바일에서는 계속하여 접속이 끊기는 현상이 있네요...
접속이 끊길경우 wifi 를 껏다 켯다 하니 또 접속이 되는 상황이고...데이타 이용중 접속이 끊기면 계속하여 접속이 안되네요...
혹식 세션설정과 상관이 있을가? 접속 끊긴 부분에서는 error.log에서 확인이 안됩니다. 접속 끊긴 로그가 없어요..
새로운 파일에서
if (get_session('ss_bus_id') !== $ss_bus_id) {
set_session('ss_bus_id', $ss_bus_id);
// set_cookie('ck_bus_id', $ss_bus_id, 259200);
set_cookie('ck_bus_id', $ss_bus_id, 3 * 24 * 60 * 60);
}
세션 설정을 3일로 했는데
common.php 파일에서는 ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분)
이게 충돌 될수 있을가요?
혹은 장바구니 비우기 코드랑 충돌이 있을가요? 1시간마다 실행을 했어요..
<?php
include_once('./_common.php');
$secret_key = 'aogkrn';
if ($_GET['key'] !== $secret_key) {
die("Permission Denied.");
}
$clean_time = date("Y-m-d H:i:s", time() - (3 * 3600));
$sql = " delete from {$g5['g5_shop_cart_table']}
where ct_direct = '0'
and ct_status = '쇼핑'
and ct_time < '{$clean_time}' ";
sql_query($sql);
echo "Success: ".date("Y-m-d H:i:s")." (Old data cleaned)";
?>
Nginx 1.28.1 MySQL 5.7.44 PHP 8.0.26
답변 1개 / 댓글 7개
일단
php.ini에서 session.gc_maxlifetime 값을 좀 올려보세요
그리고
session.cookie_secure = On 설정해보세요 없으면추가 해주시구요.
만약 php.ini 접근이 힘든상황이라면.
.htaccess 에추가해줄수도있어요 php_value session.cookie_secure On
아니면 config.php에서
ini_set('session.cookie_secure', 1);
session_start();
단 https 일경우에만 성립이됩니다.
그리고
config.php에서 session.cookie_domain을 사이트 도메인에 맞게설정이 되어있는 확인.
꼼꼼하게 세션/쿠키처리 부분을 체크 해보시기 바랍니다. 화이팅
답변에 대한 댓글 7개
그래서 그누보드환경경설정에 define('G5_COOKIE_DOMAIN', ' '); 이게 중요 합니다. 보통 설정안하고 빈 공간으로 내비둬버린사랍들 이 많은데 필히 하셔야한다라는점 물론 https 사용 할 겨웅에는 중요하 다 라는 것입니다. 그래서 항상 기본적으로 https:// , https://www, http:// http://www 이게 다열리 있는지 확인이 필수라는것입니다.
하여
세션 쿠키 가 쌇여서 문제가 될수없다고 볼수있습니다.
모바일 브라우저가 보안이 강해서 환경이 달라서 그런다 고 볼수잇다라는 것입니다.
모바일에서 는 여러개의 브라우저로 테스트 해보셔야합니다.
즉
세션은 서버파일 쿠키는 브라우저
하여
세션 쿠키가 On이면 http에서 무족건 쿠키를 차단이된다라는뜻이 기도합니다. 하여 앞서 말씀드린데로 https:// , https://www, http:// http://www 이게 통합이 되었는지 체크를 필하시기 바랍니다. 화이팅~
말씀하신대로 수정후 한번 접속 끊김이 있었네요..
SSL 설정으로 강제 HTTPS, URL 리디렉션을 www.주소.com 에서 http://주소.com , 지금은 https 로수정,
이게 문제가 될수 있을가요? 사이트 완성하면서 설정을 해놓은건데...초기에는 접속 끊김이 없었던것 같아요...
리디렉션으로 https://주소.com 이동이라서 https:// , https://www, http:// http://www 모두 상관 없겠죠?
접속 끊김현상이 http접속이 아닌 https://주소.com 이런 접속이였어요...
그리고 index파일에 header("Location: /shop/"); 했는데도 넘어가지가도 않고 접속이 끊겼어요
브라우저는 모바일 사파리와 크롬입니다.
말씀주신 외에도 연관성 되는 부분이 또 있을가요?
하여 말그대로 세션 경로 가 달라서 그럴수도 있다라는점이지요
Nginx + PHP 세션 설정을 꼼꼽히 관련문제점을 찾아보셔야합니다.
특히 https에서만 쿠키를 사용 해야하는데 http 에서 한번이라도 발생하면 쿠키는 무료 세션은 초기화 그래서 로그인이 풀릴수도 있습니다.
data/session 세션 폴더가 있는지 없으면 어디에 실제 세션이 저장되는지를 찾아보셔야한다라는점이고 그렇면 원인을 좀더 적극적으로 잡을수가 있다고 봅니다. 힘드시면 제작 의뢰이 에한번 문제점을 신청해보시기 바랍니다. 여러곳을 체크 해봐야 하닌깐요
답변을 작성하려면 로그인이 필요합니다.
session.gc_maxlifetime = 1440 에서 3600으로 설정
session.cookie_secure = 에서
session.cookie_secure = On 으로 설정,
define('G5_COOKIE_DOMAIN', ' '); 에서 도메인 설정.
해서 지금 접속이 됩니다..
세션/쿠키가 설정으로인해 바로 문제가 되지 않고 쌓이고 쌓여서 문제가 될수가 있을가요?
위 설정없이 계속 잘 접속이 되다가 갑자기 휴대폰 브라우저에서만 접속이 끊기는 현상이 발생합니다.