테스트 사이트 - 개발 중인 베타 버전입니다

cloudflare 글쓰기 댓글쓰기 오류날 경우

· 2년 전 · 1790 · 2

1. 일단 IP 문제로 해결이 안될경우만 임시방편으로 쓰시길 권장합니다. 토큰을 쓰지 않으면, 스팸등 악용될 수 도 있습니다.

 

/bbs/write_comment_update.php

 

토큰체크 주석처리

// 토큰체크
/*
$comment_token = trim(get_session('ss_comment_token'));
set_session('ss_comment_token', '');
if(!trim($_POST['token']) || !$comment_token || $comment_token != $_POST['token'])
    alert('올바른 방법으로 이용해 주십시오.');
*/

 

-------------------------------

 

/bbs/write_update.php

 

주석처리

// 토큰체크

//check_write_token($bo_table);

 

 

 

[추가] 웨볼루션 님이 알려주신 팁입니다.

2. extend 파일추가로 해결이 가능할 수도 있습니다.

extend 폴더에 cloudflare.extend.php 만들어서 올리시면 됩니다.

<?php
if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])){
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
}

function getRealUserIp(){
    switch(true){
        case (!empty($_SERVER['HTTP_X_REAL_IP'])) : return $_SERVER['HTTP_X_REAL_IP'];
        case (!empty($_SERVER['HTTP_CLIENT_IP'])) : return $_SERVER['HTTP_CLIENT_IP'];
        case (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) : return $_SERVER['HTTP_X_FORWARDED_FOR'];
        default : return $_SERVER['REMOTE_ADDR'];
    }
}

$_SERVER['REMOTE_ADDR'] = getRealUserIp();

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

2년 전
좋은팁 공유 감사해요
글쓰기 토큰을 무력화 하는게 좋은 방법이 아니죠.
토큰은 보안때문에 존재하는건데요.
잘못된 팁은 여러사용자로 하여금 문제를 야기시킬 수 있습니다.

extend 폴더에 cloudflare.extend.php 만들어서 올리시면 됩니다.

<?php
if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])){
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
}

function getRealUserIp(){
switch(true){
case (!empty($_SERVER['HTTP_X_REAL_IP'])) : return $_SERVER['HTTP_X_REAL_IP'];
case (!empty($_SERVER['HTTP_CLIENT_IP'])) : return $_SERVER['HTTP_CLIENT_IP'];
case (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) : return $_SERVER['HTTP_X_FORWARDED_FOR'];
default : return $_SERVER['REMOTE_ADDR'];
}
}

$_SERVER['REMOTE_ADDR'] = getRealUserIp();

게시글 목록

번호 제목
20849
20820
20819
20811
20798
20791
20786
20782
20768
20747
20720
20715
20705
20659
20654
20648
20640
20620
20608
20600
20599
20597
20580
20574
20562
20549
20542
20535
20512
20503