gnuboard / gnuboard5

그누보드5 (영카트 포함) 공개형 Git
Other
311 stars 250 forks source link

게시판 목록 페이지 hook 추가 요청 #217

Open smaker opened 1 year ago

smaker commented 1 year ago

기존에 없던 검색방식이나 정렬방식을 추가/구현해야 하는 경우, 불가피하게 list.php를 수정 해야합니다.

게시판 스킨에서 쿼리를 한번 더 날릴 수는 있지만, 불필요한 쿼리가 발생하게 되어 비효율적이라 생각합니다.

이 부분에 대해서 hook을 추가해주시면 유용할 것 같습니다!

kkigomi commented 1 year ago

검색어를 위한 질의문 수정이라면 아래 함수에 Hook을 추가해도 될 것 같네요. Hook을 어디에 어떻게 넣든 이미 있는 검색 변수들(sca, stx, sop 등)을 활용하거나 일부 또는 전체 완성된 질의문을 정규식으로 편집해야할 것 같은데, 정규식은 불편하고 위험성이 있으니 기존 검색 변수들을 활용한다면 get_sql_search() 함수에 Hook을 추가하면 되지 않을까 싶네요.

https://github.com/gnuboard/gnuboard5/blob/1750e957d2d81421cdb0cd4a67eb17f54da41808/lib/common.lib.php#L647

smaker commented 1 year ago

SQL 쿼리를 Hook에서 직접 조작할 수 있는 게 확장성 면에서는 가장 이상적이긴 합니다. Hook을 등록했을 때, list.php에서 쿼리를 실행하지 않고 Hook에서 쿼리를 실행한 뒤에, 검색 결과를 return 해주는 방법도 있을 것 같습니다.

다만, Prepared Statement조차 사용하지 않는 상황에서는 오히려 보안취약점이 될 수 있겠네요.