Kijin Sung
b8569aa5ab
Fix missing semicolon
2017-03-06 15:43:40 +09:00
Kijin Sung
11afa4db42
Add CSRF token to all dynamic forms
2017-03-06 15:37:18 +09:00
Kijin Sung
e82e3fb18c
Implement isSameOrigin() to simplify origin determination
2017-03-06 15:11:45 +09:00
Kijin Sung
14300cbcc3
Insert CSRF token into every AJAX request
2017-03-06 14:47:42 +09:00
Kijin Sung
6afa7b3255
Merge branch 'develop' into pr/csrf-token
2017-03-06 14:34:35 +09:00
Kijin Sung
90424db6cb
Fix incorrect permissions on document module actions
2017-03-06 14:17:47 +09:00
Kijin Sung
ef202542c1
Version 1.8.33
2017-03-06 14:11:41 +09:00
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
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
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
Kijin Sung
3eaed085a0
Merge pull request #736 from kijin/pr/cleanup-point-module
...
포인트 모듈 보안 점검 및 정리
2017-03-02 18:08:57 +09:00
Kijin Sung
87648f49d4
Fix point for attached files when updating document
2017-03-02 18:03:14 +09:00
Kijin Sung
dafbfadc93
Add option to keep existing group when point is reduced #610
2017-03-02 17:47:50 +09:00
Kijin Sung
9791808b87
General cleanup of trigger handling in point.class.php
2017-03-02 17:13:27 +09:00
Kijin Sung
33d36f7a51
General cleanup of point.model.php
2017-03-02 16:56:19 +09:00
Kijin Sung
e370ba680f
Improve shared caching and invalidation of member points
2017-03-02 16:52:33 +09:00
Kijin Sung
5b22b0399c
Fix double-deduction of comment points on document deletion
2017-03-02 16:45:15 +09:00
Kijin Sung
0d2db40e02
Don't double-subtract points when deleting document or comment with attached files
2017-03-02 16:35:35 +09:00
Kijin Sung
da2be81260
Add and subtract points for comment attachments
2017-03-02 16:30:57 +09:00
Kijin Sung
590b11aa23
Refactor all remaining triggers in Point module
2017-03-02 16:09:38 +09:00
Kijin Sung
0b71f425ed
Cache module config in point triggers
2017-03-02 15:03:45 +09:00
Kijin Sung
d4136f9081
Refactor triggerInsertMember() and triggerAfterLogin()
2017-03-02 14:57:43 +09:00
Kijin Sung
d4ccf4222d
Refactor triggerUpdateVotedCount()
2017-03-02 14:15:04 +09:00
Kijin Sung
c86c3a16de
Implement _getModulePointConfig() and clean up read/download triggers
2017-03-02 13:11:21 +09:00