Commit graph

15966 commits

Author SHA1 Message Date
Kijin Sung
701f4b5e07 Prevent loading the autoloder more than once 2017-03-06 14:11:30 +09:00
bnu
f833caf7f0 Fix #2049 XEVE-17-008 스크랩한 게시물에서 발생할 수 있는 문제 고침
- 제보자 : Jeongun.baek
2017-03-06 14:07:43 +09:00
bnu
ada67465cf 내장 모듈의 act에 대한 퍼미션 정리 2017-03-06 14:06:04 +09:00
bnu
8e33a096a4 Fix #2052 XEVE-17-011 2017-03-06 13:48:26 +09:00
Kijin Sung
c58f172265 Fix #740 clear member cache after admin edit 2017-03-06 12:15:52 +09:00
Kijin Sung
e116206c13 Fix #740 incorrect template code in admin member edit screen 2017-03-06 11:59:39 +09:00
Kijin Sung
b3fb993f73 Insert CSRF token in all AJAX requests via exec_xml(), exec_json(), exec_html()
일단 공식적으로 지원하는 AJAX 함수 3종에 CSRF 토큰을 삽입해 본다.
추후 체크 방식을 변경하거나 보안을 더욱 강화할 경우 X-CSRF-Token 헤더와 비교할 수도 있다.
일반 폼 제출이나 임의의 AJAX 요청에도 CSRF 토큰을 삽입하는 것은 다음 커밋에...
2017-03-06 11:51:38 +09:00
Kijin Sung
e2511a0269 Insert CSRF token using meta tag in common_layout.html
<body> 태그의 속성이나 그 밖의 태그를 사용하지 않는 이유는
<body>가 로딩되기 전에 먼저 AJAX 요청을 시도하는 서드파티 자료가 있기 때문이다.
<head> 상단에 CSRF 토큰을 넣어야 이런 자료에서도 토큰이 누락되지 않는다.

다른 CSM나 프레임워크들도 <head> 상단에 <meta> 태그를 사용하여
CSRF 토큰을 삽입하는 사례가 많으며, csrf-token은 이런 용도로
WHATWG에 공식적으로 등록된 meta name이다.

cf. https://wiki.whatwg.org/wiki/MetaExtensions
2017-03-06 11:46:37 +09:00
BJRambo
b040372133 댓글 삭제할때에도 휴지통 사용여부에 따라 휴지통으로 이동할 수 있도록 기능 추가 2017-03-06 11:38:47 +09:00
Kijin Sung
a0f2388842 Add Session::getGenericToken() for general-purpose token handling 2017-03-06 11:24:09 +09:00
Kijin Sung
81511e47b1 Enhance permissions check on module config actions 2017-03-06 11:05:53 +09:00
Kijin Sung
387dd1f78b Fix #741 do not allow empty HTML content in document and comment 2017-03-06 10:50:06 +09:00
Kijin Sung
29f2f6a47f Fix #740 force logout user if denied or limited 2017-03-06 10:27:11 +09:00
BJRambo
b5a5b9fff8 인라인스크립트를 css파일로 교체 2017-03-06 09:38:50 +09:00
BJRambo
6ae954ee86 안쓰이는 인수값 삭제 2017-03-06 09:07:12 +09:00
BJRambo
65940532e2 안쓰는 설정정보 및 언어설정 코드 제거 2017-03-06 08:49:33 +09:00
BJRambo
211d9344f2 받는 사람의 목록에서 필요한 정보만 출력하도록 고침. 2017-03-06 08:42:54 +09:00
BJRambo
3f716c566d 회원가입 설정에서 프로필사진을 사용할때에 출력 2017-03-06 08:30:37 +09:00
BJRambo
de019fad0f 관리자 회원목록에서 프로필사진을 볼 수 있도록 개선 2017-03-06 08:25:36 +09:00
BJRambo
78599c5818 fix typo 2017-03-06 07:50:11 +09:00
BJRambo
a13cea95ec 회원정보를 PHP에서 처리하도록 고침 2017-03-06 07:47:02 +09:00
BJRambo
d52894b2a3 배열값들의 코드이름을 직관성 있게 고침 2017-03-06 07:38:59 +09:00
BJRambo
d3854af5d1 알림목록 페이지의 템플릿 파일의 이름을 알림센터 기능과 동일하게 작동하도록 고침 2017-03-06 07:29:56 +09:00
Kijin Sung
5bd5044126 Improve referer checks in Session::checkSSO() 2017-03-04 22:15:46 +09:00
Kijin Sung
af7309b807 Consistently use new domain system for URL::isInternalUrl() and checkCSRF() 2017-03-04 22:09:45 +09:00
Kijin Sung
f1608ad3a9 Fix unit test for Session::checkSSO() 2017-03-04 22:09:07 +09:00
Kijin Sung
8cf3d7b520 Update SSO mechanism to use new domain system 2017-03-04 22:05:16 +09:00
Kijin Sung
4bde9f6c7b Merge site admin privileges with normal admin 2017-03-04 21:37:23 +09:00
Kijin Sung
107600f19c Add language codes for domain-related error messages. 2017-03-04 21:32:01 +09:00
Kijin Sung
06ce406390 Remove domain, port, and SSL settings from Advanced config screen 2017-03-04 21:25:58 +09:00
Kijin Sung
726a2a0209 Update module class to use getDomainFromUrl() 2017-03-04 17:31:46 +09:00
Kijin Sung
dcd4b8b046 Implement remainder of domain management screen 2017-03-04 17:06:12 +09:00
Kijin Sung
8d53304e71 Merge branch 'develop' into pr/multidomain 2017-03-04 16:12:31 +09:00
Min-Soo Kim
46055ffa66 Merge pull request #739 from misol/develop
네모의 꿈 스킨 링크 텍스트 색상 선명도 강화.
2017-03-03 23:19:58 +09:00
MinSoo Kim
cf67e12133 네모의 꿈 레이아웃 최대 가로 폭 확대.
960px 은 너무 좁은 것 같아서 조금 더 넓힘.
2017-03-03 23:12:48 +09:00
MinSoo Kim
60248dabe9 스킨에서 색상 변수 확인 강화, 링크 텍스트 색상 선명도 증가. 2017-03-03 23:07:39 +09:00
Min-Soo Kim
38beb451f0 Merge pull request #733 from misol/develop
Update the readme file with English translation.
2017-03-03 15:59:38 +09:00
Kijin Sung
39be19ae5c Fix error when deleting selected documents 2017-03-03 14:00:21 +09:00
Kijin Sung
cf01038ce6 Refresh member info when setSessionInfo() is called 2017-03-03 01:05:13 +09:00
Kijin Sung
a67a78ebba Use local variable instead of class property to handle member info
회원정보를 다룰 때 너도나도 $this->memberInfo를 덮어쓰기 때문에
이게 도대체 어디서 온 변수인지 신뢰할 수가 없음.
심지어 로그인에 실패해도 $this->memberInfo는 그대로 남아 있음.

잘못 사용할 경우 심각한 보안 문제가 발생할 수 있으므로
클래스 속성을 공유하지 않고 각 메소드에서 로컬 변수만 사용하도록 변경함.
회원정보를 반드시 서로 공유해야 하는 경우 Context::get('logged_info')를 사용함.
2017-03-03 00:59:42 +09:00
Kijin Sung
90590829d6 글쓴이에게는 무조건 세션 권한 부여 - 수정 버전 2017-03-03 00:58:14 +09:00
Kijin Sung
9389b96f95 Revert "글쓴이에게는 무조건 세션 권한 부여"
This reverts commit 2840740286.
2017-03-03 00:57:41 +09:00
conory
2840740286 글쓴이에게는 무조건 세션 권한 부여
비회원 글쓰기 후 본문 페이지에서 비밀번호 인증을 받아야 하기 때문에 매우 번거로움.
2017-03-03 00:36:04 +09:00
Kijin Sung
5e9273d5f3 Fix incorrect lang code in simple_world member skin 2017-03-03 00:16:09 +09:00
Kijin Sung
9143493f13 Restrict addGrant() to current request only 2017-03-02 23:24:28 +09:00
Kijin Sung
e4fe2430d3 Change 로그인 관리 to 자동 로그인 관리 2017-03-02 21:18:55 +09:00
Kijin Sung
7510cdf2e1 Fix autologin failing on third visit 2017-03-02 21:17:49 +09:00
Kijin Sung
7d508f50bd Remove unnecessary grant of admin rights on nonexistent documents 2017-03-02 21:02:49 +09:00
Kijin Sung
238d97e4ab Restrict effect of setGrant() to current request
앞으로 또 발견될지도 모르는 보안 취약점으로 인한 피해를 줄이기 위해
문서나 댓글에 대하여 setGrant()를 호출하더라도 해당 세션 전체가 아닌
하나의 요청 내에서만 관리권한을 부여받도록 고칩니다.

세션 전체에 관리 권한을 부여하려면 새로 추가된 setGrantForSession()
메소드를 사용하여야 하며, 이것은 함부로 사용해서는 안됩니다.

그동안 getDocument(), getComment() 등에 $is_admin 파라미터가 너무
남용되어 왔으므로, 이 권한을 제한하는 것만으로도 서드파티 호환성에
미치는 영향을 최소화하면서 상당한 효과가 있을 것으로 보입니다.
2017-03-02 20:41:36 +09:00
Kijin Sung
9615d85d81 Remove admin rights from all widget document methods 2017-03-02 20:19:23 +09:00