카톡링크로 사이트 접속 후 가입하려고 할 때 발생하는 약관동의 오류
본문
안드로이드 폰으로 카톡 링크를 받은 뒤 제 사이트에 접속한 후 가입하려고 하면 폼 제출 후에 약관에 동의해야 가입할 수 있다고 경고 안내가 뜬다고 합니다..
아이폰에서는 발생하지 않는데 안드로이드 폰에서만 발생을 하는 것 같아요.. 도대체 왜 이런 걸까요? 카톡 링크로 접속하지 않고 브라우저로 접속하면 잘 돼요
답변 3
두 개 링크가 다른건 아닌가요? 해당 질문만 가지고는 알 수 있는게 없습니다.
약관 부분을 순정으로 바꾸거나
https://demo.sir.kr/gnuboard5/bbs/register.php
이 데모링크로 테스트 해보세요.
약관을 채크 안하고 바로 회원가입 페이지로 연결 하셨으면 발생할수 있는 에러 입니다.
. . . 그누보드5의 회원 가입 로직은
클라이언트 측에서 자바스크립트를 사용해 약관 동의 여부를 확인한 후,
서버로 폼 데이터를 전송합니다. 아이폰에서는 정상적으로 동작하지만
안드로이드폰에서만 문제가 발생한다면,
자바스크립트의 브라우저 호환성 이슈일 가능성이 높습니다.
특히, document.getElementById
, querySelector
, 또는 checked
속성 관련 코드가
특정 안드로이드 브라우저에서 다르게 동작할 가능성이 있습니다.
※ 해결 방안 개요 :
안드로이드폰에서 발생하는 문제는 약관 동의 체크박스의 상태를 확인하는
자바스크립트 코드가 특정 브라우저와 호환되지 않기 때문일 가능성이 큽니다.
이를 해결하려면, 약관 체크박스의 상태 확인 코드를 표준화된 방식으로 수정하고,
폼 제출 시 자바스크립트 오류가 발생하지 않도록 디버깅해야 합니다.
동시에, 서버에서도 약관 동의 여부를 다시 확인하여,
추가적인 검증을 수행하여 보안을 강화해야 합니다.
- /skin/member/basic/register_form.skin.php
파일에서 약관 동의 체크박스를 확인하는 코드를 찾아 수정
if (!document.getElementById('agree').checked) {
alert('약관에 동의하셔야 가입이 가능합니다.');
return false;
}
- /bbs/register.php
파일에, 약관 동의 값이 서버로 제대로 전달되는지 확인하는 코드 추가
- /skin/member/basic/register.skin.php
수정된 파일
★ 자바스크립트 수정 후,
크라이언트의 안드로이드 폰 브라우저 캐시가 문제를 일으킬 수 있으므로
"설정" > "애프리케이션" > "Chrome" > "저장공간" > 캐시 삭제를 하세요.