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

그누보드의 ajax 호출 코드를 비동기식으로 전환할 것을 건의합니다.

· 8년 전 · 2602 · 12

안녕하세요.

 

네. 제목대로입니다.

두가지의 주제로 글을 적어볼까 합니다.

 

첫번째로, ajax 호출에 대한 의견입니다.

현재 동기식 ajax 호출에 대하여 Chrome와 Firefox 브라우저에서는

콘솔을 통하여 경고 메시지를 출력하며 비동기식 호출을 유도하고

있습니다. 왜 이런 경고를 하고있는 것일까요?

비슷한 예를 들자면 SSL(https) 미사용에 대한 경고와도 비슷하다고 할 수

있겠습니다. 결론적으로 두가지 사안 모두 다 보안을 위한 조치라고 익히

알고 계실 겁니다.

 

하지만 전자와 후자의 성격은 미묘하게 다릅니다.

전자는 Server의 보호를 위한 측면이 강하며

후자는 Client의 (개인정보)보호를 위한 측면이 강합니다.

또한 전자는 별도의 추가 비용이 소요되지 않고

(단, Server 자원의 잠재적 성능향상을 필요로 합니다.)

후자는 보안인증서 발급 및 유지보수를 위한 비용이 발생합니다.

 

또한 상황에 따라 개발 용이점과 퍼포먼스에서의 장단점이 존재합니다.

 

SSL의 경우 비용과 여러가지 여건에 따른 선택의 여지가 있다고 생각합니다.

하지만 ajax의 동기식 호출(async : false)은 문제의 소지가 있다고 예상됩니다.

특히나 DDos 공격에 대한 잠재적 취약점을 가지고 있다고 볼 수 있습니다.

이는 Server의 크래킹에 대한 문제가 아니라 좀 더 쉬운 DDos 공격의 타겟이

될 수 있으며 이로 인한 CPU와 메모리의 부하 및 스토리지의 대역폭 초과로 인한

서비스 장애의 원인이 될 수 있습니다. 동기식 ajax 호출의 경우 이러한 DDos 공격이

단순히 패킷의 양으로 계산할 수 있는 것이 아니라 아주 적은 수의 Client를 이용한

공격만으로 서비스 장애를 일으킬 수 있다고 볼 수 있습니다.

 

아직 그누보드에 ajax 호출이 아주 많이 쓰인다고 볼 수는 없습니다. 

하지만 그누보드를 기반으로 하여 프로젝트를 개발하고 또한 커스터마이징 하면서

더 많은 ajax 호출을 덧붙이게 될 경우, 기존의 그누보드에서 제공하는 코드의 응용으로

인하여 다수의 취약점이 발생될 가능성이 존재합니다.

이는 그누보드에서 사용되는 ajax 호출의 100%가 동기식이기 때문입니다.

(개인적으로 국내를 비롯하여 일본과 중국을 대상으로한 서비스를 준비 중이며

이 서비스가 크래킹의 대상이 될 요지가 다분한 부분을 다루고 있고 중국의 크래커는

매우 강력한 공격력을 지니고 있기에 js 에서의 취약점을 대부분 제거해 나가고 있습니다.

이제 captcha_result 부분과 토큰 부분만 일부 마무리하면 되는 단계입니다만 아직

충분치 않습니다.)

 

이는 저의 개인적인 견해일 수도 있으나 많은 개발자들께서 공감하시리라 생각합니다.

또한 더 많은 상호토론이 필요한 주제라고 생각합니다.

 

 

더불어 두번째로, 이 게시물의 내용과 같이 그누보드의 보안과 성능 및 기능의 향상을 위한

토론의 공간이 이곳 sir.kr 에 마련이 되었으면 합니다.

개발에 대한 강좌, 그누보드에 대한 팁, 질문과 답변, 사용후기 등의 섹션은 마련되어 있으나

이에 못지 않게 중요한 것이 그누보드를 활용하고 있는 개발자들의 순수한 토론공간이

필요하다고 생각합니다.

그누보드의 발전에 기여할 수 있는 좀 더 심층적인 토론 게시판의 오픈을 요청하는 바입니다.

 

 

긴 글 읽어주셔서 감사합니다. 

 

 

 

 

 

 



 

 



 

 

댓글 작성

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

로그인하기

댓글 12개

https://sir.kr/so_g5tuning 소모임이 있습니다.
그누보드는 이미 코딩컨벤션도 없고 git으로 풀리퀘해서 개선할수 있는 방법도 없고 여러모로 골아픕니다.
그누보드로 작업을 시작해서 튜닝하는것보단 그냥 관두는게 훨씬 낫다는 우스개소리도 주변에서 많이 들려오구요.
저도 요즘 느끼고있긴합니다.

게시글 목록

번호 제목
1717252
1717247
1717243
1717237
1717225
1717214
1717208
1717203
1717189
1717183
1717177
1717172
1717163
1717162
1717156
1717154
1717153
1717141
1717140
1717138
1717113
1717111
1717105
1717099
1717085
1717076
1717072
1717065
1717062
1717050