URL에 타 도메인을 지정할 수 없습니다.
본문
그누보드5 최신버전이고 클라우드플레어 무료플랜 사용중입니다.
커스텀 한것 없고 순정 그대로 사용 중 입니다.
사이트에 로그인 하게 되면 URL에 타 도메인을 지정할 수 없습니다.
라는 팝업문구가 자꾸 뜨는데요.
lib/common.lib.php 에서 해당 함수 중지 코드를 넣어도 문제가 발생하고
(짧은 주소 사용시 메인 인덱스 주소가 아닌 게시판에서 연결시 게시판 주소가 깨져버림;;)
예시 -> https://aaa.com/free 에서 로그인시 주소가 https://aaa.comfree/ 로 연결됨
아래 팁글에서 본 코드를 적용해보니 토큰에러가 떠서 아무것도 할수가 없게 됩니다.
config에서 도메인 입력하는 곳도 공란으로 두면 마찬가지로 토큰에러가 떠버리는데요
이거 어떻게 해결할 방법이 없을까요
답변 2
자체 해결함
lib/common.lib.php 3594줄에 아래 코드 주석
echo 'alert("url에 타 도메인을 지정할 수 없습니다.");'.PHP_EOL;
!-->
common.php 상단에 넣어세요.
/*******************************************************************************
** US cuter CloudFlare
*******************************************************************************/
class FixCloudFlare{
public static $cf_ip_ranges = array('103.21.244.0/22','103.22.200.0/22','103.31.4.0/22','104.16.0.0/13','104.24.0.0/14','108.162.192.0/18','131.0.72.0/22','141.101.64.0/18','162.158.0.0/15','172.64.0.0/13','173.245.48.0/20','188.114.96.0/20','190.93.240.0/20','197.234.240.0/22','198.41.128.0/17','199.27.128.0/21');
public static function fixVisitorInfo(){
foreach (self::$cf_ip_ranges as $range){
if (self::inRange($_SERVER['REMOTE_ADDR'], $range)){
if(isset($_SERVER['HTTP_CF_CONNECTING_IP']))$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
if(strpos($_SERVER['HTTP_CF_VISITOR'], 'https') !== false)$_SERVER['HTTPS'] = 'on';
return true;
}
}
return false;
}
public static function inRange($ip, $range){
list($range, $netmask) = explode('/', $range);
$ip = ip2long($ip) & (0xffffffff << (32 - $netmask));
$range = ip2long($range) & (0xffffffff << (32 - $netmask));
return $ip == $range;
}
}
FixCloudFlare::fixVisitorInfo();
/*******************************************************************************
답변을 작성하시기 전에 로그인 해주세요.