Rhymix\\Framework\\Helpers\\DBStmtHelper, bool 에러
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
기진곰님이 적어주신 패치를해버리면 무시 해버리긴 한데
이미 코드는 비 정상 작동되고 있었을까요?
앞번과 공통 사항이 추천과 관련된 부분이네요.
감사합니다.

댓글 2
패치하면 쿼리 에러가 나더라도 무시하고 넘어가겠지만,
있는지 없는지도 모르는 변수를 SQL에 마구 쑤셔넣어 문법 오류를 유발한다는 것 자체가
영 믿음직스럽지 못한 코드이니 웬만하면 삭제를 추천합니다.
저러다 잘못하면 SQL 인젝션 해킹 당해요.
감사합니다