Q&A

Rhymix\\Framework\\Helpers\\DBStmtHelper, bool 에러

2023.10.04 12:34
93
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

안녕하세요.

 

아주 오래전부터 이래저래 짜집기해서 가져다 붙여둔 코드에 에러가 발생합니다.

 

댓글

추천 + 댓글저장 버튼인데

 

이번 업데이트 이후로 똑같은

 

Rhymix\\Framework\\Helpers\\DBStmtHelper, bool

 

이 bool 에러가 발생합니다.

 

https://xetown.com/questions/1787597#comment_1787633

 

와 마찬가지로 기존에도 작동하고 있지 않았을 확률이 있을까요?

 

ip등으로 추천여부를 판별하는 코드로 보여지는데

 

추천을 했으면 추천 + 댓글 저장이 안뜨고 그냥 저장이 뜨는 그런 구조로

 

과거에는 잘작동한 코드로 기억을하는데 지금은 제거하는것이 맞을까요?

                {@
                 $oDB = &DB::getInstance();
                 $login_votequery = $oDB->_query('select count(*) as count from xe_document_voted_log  where document_srl = '.$document_srl.' and member_srl = '.$logged_info->member_srl);
                 $login_voteresult = $oDB->_fetch($login_votequery);
                 
                 $ip_votequery = $oDB->_query(sprintf("select count(*) as count from xe_document_voted_log where document_srl = %s and ipaddress = '%s'", $document_srl, getenv('REMOTE_ADDR')));
                 $ip_voteresult = $oDB->_fetch($ip_votequery);
                 
                 $ip_query = $oDB->_query(sprintf("select count(*) as count from xe_documents where document_srl = %s and ipaddress = '%s'", $document_srl, getenv('REMOTE_ADDR')));
                 $ip_result = $oDB->_fetch($ip_query);
                 
                 $login_query = $oDB->_query('select count(*) as count from xe_documents  where document_srl = '.$document_srl.' and member_srl = '.$logged_info->member_srl);
                 $login_result = $oDB->_fetch($login_query);
                }
                

                    <!--@if(!$module_info->score_use == 'Y')-->
                        <!--@if($is_logged)-->
                            <!--@if($ip_voteresult->count+$login_voteresult->count+$ip_result->count+$login_result->count==0)-->
                                <span><span class="vote_board"></span><input onClick="vote_doVote('Up','{$document_srl}');return beCheckWrite(this)" type="submit" value="{$lang->cmd_comment_registration} + 추천" accesskey="s" /></span>
                            <!--@end-->
                        <!--@else-->
                            <!--@if($ip_voteresult->count+$ip_result->count==0)-->
                                <span><span class="vote_board"></span><input onClick="vote_doVote('Up','{$document_srl}');return beCheckWrite(this)" type="submit" value="{$lang->cmd_comment_registration} + 추천" accesskey="s" /></span>
                            <!--@end-->
                        <!--@end-->
                    <!--@end-->

 

 

https://github.com/rhymix/rhymix/commit/4cf8fc6eb5cbcd2fca196cdc7504781dca8397c5

 

기진곰님이 적어주신 패치를해버리면 무시 해버리긴 한데

이미 코드는 비 정상 작동되고 있었을까요?

 

앞번과 공통 사항이 추천과 관련된 부분이네요.

 

감사합니다.

톰캣 Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.

댓글 2

  • 2023.10.04 16:04 #1788827

    패치하면 쿼리 에러가 나더라도 무시하고 넘어가겠지만,

    있는지 없는지도 모르는 변수를 SQL에 마구 쑤셔넣어 문법 오류를 유발한다는 것 자체가

    영 믿음직스럽지 못한 코드이니 웬만하면 삭제를 추천합니다.

    저러다 잘못하면 SQL 인젝션 해킹 당해요.

  • 2023.10.04 16:15 #1788832
    인젝션 이야길 들으니 정신이 번쩍드네요
    감사합니다