Kijin Sung
f8b0ca6a78
Improve granularity of Context security check
...
정규식에 따라 모두 막을지, 관리자만 허용할지 구분할 수 있도록 하고
이를 참조하여 <script> 태그는 관리자만 허용, PHP 태그는 모두 막도록 변경.
2018-10-13 16:42:19 +09:00
Kijin Sung
06349cdd98
Fix excessively strict check for scripts
...
XE보다 더 엄격하게 되어 버린 스크립트 입력 체크 기준을 다소 완화하여
<script language="php"> 등 PHP로 해석될 여지가 있는 것만 필터링함
cf. https://xetown.com/qna/1090769
2018-10-13 16:13:03 +09:00
Kijin Sung
7d318c3122
Fix #1100 member skin being overwritten by mid defaults
2018-10-11 20:27:28 +09:00
Kijin Sung
e027bc8319
Add jquery-latest.js to blacklist
...
http://code.jquery.com/jquery-latest.js 와 같은 스크립트를 임의로
로딩하지 못하도록 막음. 버전이 붙은 파일명은 이미 대부분 막혀 있었지만,
이 커밋에서는 -latest가 포함된 것도 막도록 변경함.
cf. https://xetown.com/qna/1089463
2018-10-11 14:32:10 +09:00
Kijin Sung
b6b70bd8ad
Add 'autolang' template filter for user lang handling
...
autoescape가 적용된 템플릿에서 사용자 정의 다국어가 제대로 출력되지 않는
문제를 수정하기 위해 'autolang' 필터를 추가함.
해당 변수 내용이 사용자 정의 다국어인 경우 escape하지 않고,
그 밖의 내용인 경우 escape하는 옵션임.
2018-10-11 13:56:11 +09:00
Kijin Sung
3d8a9b7621
Produce relative URLs when appropriate
2018-10-11 09:07:38 +09:00
Kijin Sung
11858c0b13
Fix #985 improve responsive skin support
...
- 모바일에서 반응형 스킨 사용을 기본값으로 지정한 경우
- 사이트 디자인 설정 화면에서 /USE_RESPONSIVE/가 노출되는 문제 수정
- 신규 생성한 게시판에서 모바일 스킨을 찾지 못하는 문제 수정
- 게시판 모듈에서 스킨 처리하는 루틴을 ModuleObject로 이관하여
모든 모듈에서 혜택을 볼 수 있도록 함
- 반응형 스킨이 기본값으로 지정된 경우, 아무 것도 지정되지 않은 경우,
기본값으로 지정된 스킨이 삭제된 경우 등 다양한 상황에 대처
- TODO: 회원 모듈, 커뮤니케이션 모듈 등에서 자체 스킨을 들여오는 방식 재검토
2018-10-10 23:07:48 +09:00
Kijin Sung
3484b2bb48
Fix 'security violation' error when no file is uploaded
2018-10-10 18:16:57 +09:00
Kijin Sung
c3f1e24b02
Ensure more consistent operation of security checks
...
- 수상한 파일이 업로드되었을 때 isSuccessInit = false로 지정
- isSuccessInit = false인 경우 무조건 에러메시지 출력 (xpressengine/xe-core#2304 )
- 보안정책 관련 에러메시지는 msg_security_violation으로 통일
2018-10-10 16:27:23 +09:00
Kijin Sung
c54fa8dab1
Use escape more consistently
...
여기저기 htmlspecialchars가 들어 있는 것을 escape로 통일
2018-10-10 15:07:51 +09:00
Kijin Sung
6abd345dcf
Fix autoescape problems
...
- 삼항식 사용시 autoescape 우선순위가 꼬이는 문제 수정
- $lang 변수는 autoescape하지 않도록 변경
- ENT_COMPAT을 ENT_QUOTES로 변경 (자바스크립트에서 사용시 '홑따옴표' 이탈 방지)
2018-10-10 14:43:53 +09:00
conory
33e44b8708
서브쿼리시 Warning: Invalid argument supplied for foreach() 오류 수정
2018-10-08 12:31:23 +09:00
conory
7764d88b82
executeQuery의 $arg_columns에서 별표(*)를 사용할 수 있도록 수정
2018-10-06 19:57:51 +09:00
Kijin Sung
a3b67b2c7f
Merge branch 'pr/js-cookie' into develop
2018-10-04 11:56:41 +09:00
Kijin Sung
71e5bdb354
Add js-cookie library
2018-10-02 23:20:31 +09:00
bnu
71651c0542
검색엔진 수집이 불필요한 페이지에 대한 robots 메타 태그 추가
...
xpressengine/xe-core#2293 patch by @bnu
2018-10-02 22:50:05 +09:00
Kijin Sung
19331e6746
Additional XSS checks #1088
2018-09-18 13:27:55 +09:00
Kijin Sung
e03ccbd7a9
Also filter XML and HTML file uploads
...
- Detect possible XML (including SVG) by actual content, not extension
- Check large files in overlapping chunks to reduce memory usage
- Check XML files for external entities
- Check HTML files for SSI and PHP code
2018-09-18 02:45:48 +09:00
Kijin Sung
60d390f52e
Initial mitigations for #1088 #1089
2018-09-17 00:48:47 +09:00
conory
6d081b9fec
XML쿼리에서 CAST(regdate as DATE) 와 같은 함수 사용시 발생하는 오류 수정
...
datatype도 escape되는 바람에 발생된 문제로, 우선 대문자에 한하여 escape 되지 않도록 수정하였습니다.
주석에 떡하니 된다고 해놓고 실제로는...
2018-09-15 00:58:50 +09:00
Kijin Sung
9b6e88bc33
Add try...catch to trigger functions
2018-09-06 19:44:25 +09:00
Kijin Sung
b048200a30
Allow multiple selection of display debug types
2018-09-06 17:00:50 +09:00
Kijin Sung
4d5401ef89
Merge branch 'develop' into pr/exception
2018-09-06 10:45:59 +09:00
Kijin Sung
10c8d11785
Add FeatureDisabled and SecurityViolation exception classes
2018-09-06 10:00:47 +09:00
Kijin Sung
5b7ce90a3d
Also catch exceptions in init() method of module instances
2018-09-06 00:19:27 +09:00
Kijin Sung
74b07cb5c4
Remove unnecessary parentheses in MySQL error handler
2018-09-03 15:48:02 +09:00
Kijin Sung
f6fa7493f6
Catch Rhymix\Framework\Exception in module act and triggers
2018-08-26 23:46:13 +09:00
conory
9e59a6d839
페이지 편집 페이지에서 '모듈 설정 화면' 설정과는 상관없이 무조건 사용자 레이아웃 적용
...
레이아웃마다 너비가 모두 다르므로 관리자 레이아웃 적용시 정확도가 엄청 떨어짐
2018-08-14 15:20:00 +09:00
Kijin Sung
6f447df66c
Add option to view module config screen in admin layout
...
모듈 설정 화면을 관리자 레이아웃으로 보는 기능을 옵션으로 만들어 복원함
최근 수정된 관리자 레이아웃 디자인을 여기에도 적용
2018-08-14 12:41:30 +09:00
Kijin Sung
4ca3bdccc6
Display module settings in own layout
...
Partially revert 8d718c0
2018-08-14 11:11:58 +09:00
conory
8d718c0ae8
mid=board&act=dispBoardAdminBoardInfo등 모듈 관리자페이지에서 디자인이 깨지는 문제 수정
2018-08-08 11:56:46 +09:00
Kijin Sung
9e08bd40ac
Merge pull request #1053 from rhymix/pr/css-unload-minimal
...
.btn 및 .message 클래스의 CSS 속성을 제거하는 옵션 제공 #950
2018-08-06 16:39:48 +09:00
Kijin Sung
a49f2f5f06
Change Context::isAlwaysSSL() to config('session.use_ssl_cookies')
...
- Main session cookie is httpOnly if use_ssl is true
- SSO cookie is always httpOnly
2018-08-06 01:23:22 +09:00
Kijin Sung
2c9bb88a14
Merge branch 'develop' into pr/1051
2018-08-06 01:08:51 +09:00
Kijin Sung
637e4f9e46
Move admin layout assets to admin layout template files
...
@conory
2018-08-05 19:19:30 +09:00
Kijin Sung
c176be9c9f
Add an option to disable XE styles for .btn and .message
...
To disable XE styles for .btn, .btn-group, and .btnArea:
define('DISABLE_XE_BTN_STYLES', true);
To disable XE styles for .message:
define('DISABLE_XE_MSG_STYLES', true);
This is a limited version of XE's __DISABLE_DEFAULT_CSS__ constant.
Other styles and default CSS/JS resources are not affected.
DO NOT UNLOAD DEFAULT CSS/JS RESOURCES.
2018-08-04 23:20:45 +09:00
Kijin Sung
a489012d6d
Remove unnecessary mobile.css
...
해당 파일의 내용은 rhymix.less와 100% 중복되므로 별도 로딩할 필요가 없음
2018-08-04 23:18:29 +09:00
Kijin Sung
f8c42cc10b
Fix #1049 disappearing zero values in extravar
2018-08-04 21:08:03 +09:00
Kijin Sung
8db2ac16c7
Revert "basic files의 로드를 막을 수 있도록 Context::unloadBasicFiles() 추가"
...
This reverts commit 35b73eec0b .
2018-08-04 20:56:41 +09:00
Kijin Sung
867d6930cf
Revert " 35b73eec0b 보완"
...
This reverts commit 30e0a5c583 .
2018-08-04 20:56:34 +09:00
Kijin Sung
f12cf74dda
Revert "다른 프레임워크와 css 충돌을 피하기 위해 rhymix.less의 class/id 이름에 prefix 처리"
...
This reverts commit b1cb1f3f34 .
2018-08-04 20:56:24 +09:00
conory
b1cb1f3f34
다른 프레임워크와 css 충돌을 피하기 위해 rhymix.less의 class/id 이름에 prefix 처리
...
변경전의 xe.less 파일도 rhymix.less와 함께 load 하여 호환정 유지
CSS 충돌 예)
bootstrap의 .btn
사용 예)
bootstrap 사용시엔 {Context::unloadBasicFiles('xe')}으로 unload 시키면 문제없음
2018-08-03 19:45:30 +09:00
conory
30e0a5c583
35b73eec0b 보완
...
파일이름으로 unload 할 수 없도록 변경 (호환성 파괴 위험성이 크므로)
2018-08-03 12:32:42 +09:00
Min-Soo Kim
25d2e4892a
Revert "Example of the cookie option"
...
This reverts commit 93a35c251b .
2018-08-02 00:35:52 +09:00
Min-Soo Kim
93a35c251b
Example of the cookie option
2018-08-02 00:35:27 +09:00
Min-Soo Kim
30fd0c428c
Improve cookie security; Secure flag
...
SSL 항상 사용 옵션인 경우 쿠키도 이에 맞추어 SSL 인 경우에만 사용되도록 secure flag 를 추가합니다.
선택적 SSL 인 경우 SSL 이 적용되지 않은 구간에서도 쿠키를 읽을 수 있어야 하므로, 적용하지 않습니다.
이 PR 로 변경되는 내용
- Context 클래스에 checkSslEnforce 메소드 추가
- SSL 항상 사용 옵션일 경우, 가능한 secure 플래그를 달아서 쿠기 굽기
- SSO 쿠키의 경우 javascript 접근이 필요 없을 것으로 예상 ( https://github.com/rhymix/rhymix/pull/1034 ) 되어서 `httpOnly` 플래그도 추가.
안드로이드 웹뷰의 경우 StackOverFlow 의 Reading secure cookies in android WebView 라는 글을 참고하면, 읽어오는 것이 가능하다고 합니다. 주소에 프로토콜을 적지 않을 경우 secure flag 가 달린 쿠키는 정상적으로 읽어오지 않는 듯 하니 안드로이드 웹뷰를 사용하시는 분들은 대응이 필요할 것으로 보입니다.
https: //github.com/rhymix/rhymix/pull/1034 를 실수로 merge 하여서 다시 올립니다.
Co-Authored-By: Kijin Sung <kijin@kijinsung.com>
2018-07-29 12:15:24 +09:00
Min-Soo Kim
b62a1322c9
Revert "Merge branch 'develop' into develop"
...
This reverts commit ec54bbd415 , reversing
changes made to 9b12e0a71c .
2018-07-29 11:54:14 +09:00
Min-Soo Kim
ec54bbd415
Merge branch 'develop' into develop
2018-07-29 11:49:27 +09:00
Kijin Sung
71bee10ae9
Support data types not defined in XE
2018-07-05 23:46:21 +09:00
Kijin Sung
32c9de472a
Improve addColumn() and modifyColumn()
...
- 특정 컬럼 이후에 컬럼을 추가할 수 있도록 허용
- 모든 integer 타입의 size 속성을 무시 (tinyint 제외)
2018-07-05 22:43:53 +09:00