Commit graph

393 commits

Author SHA1 Message Date
Kijin Sung
0c018f1daf Update references to deprecated global function checkCSRF() 2025-12-17 18:00:48 +09:00
Kijin Sung
5dcc0f92a4 Fix incorrect request_uri and other JS variables if accessed on an unconfigured domain 2025-09-30 22:16:35 +09:00
Kijin Sung
4e6591af13 Fix most links pointing to default domain even when unregistered domain action is set to "display" 2025-09-05 18:03:54 +09:00
Kijin Sung
ae8a8662b1 Exclude admin actions from redirect based on document_srl 2025-09-03 23:34:29 +09:00
Kijin Sung
ba7a91b150 Fix incorrect redirect if a member action is added to a document URL
일부 레거시 스킨에서 글읽기 화면 -> 로그인 화면으로 전환하는 링크를
getUrl('act', 'dispMemberLoginForm') 이렇게 해 놓아서
mid=board&document_srl=123&act=dispMemberLoginForm 이런 형태의 URL이 생성됨.
이런 주소로 접속하면 document_srl을 기준으로 글읽기 화면의 짧은주소로
리다이렉트되는데, 이것은 원래의 의도에 어긋나므로
act를 기준으로 로그인 화면으로 리다이렉트하도록 변경함.
회원가입, 회원정보 보기, 쪽지함 보기 등 회원 메뉴에 소속된 대부분의 act 포함.
2025-09-01 00:05:13 +09:00
Kijin Sung
b79af31d0e Fix domain restriction not being enforced when $document_srl is set 2025-08-31 23:55:17 +09:00
Kijin Sung
f4a686ce47 Fix comment about nullable return type 2025-06-03 11:17:18 +09:00
Kijin Sung
fd103ba67d Fix #2522 browser titles for member pages not following admin template 2025-03-13 23:21:33 +09:00
Kijin Sung
f6a9d49db1 Add browser title for most items on the member menu 2025-03-09 20:41:13 +09:00
Kijin Sung
83a42081fa Fix fatal error when some important variables contain non-scalar values 2025-03-08 14:29:25 +09:00
Kijin Sung
ef751041dd Fix incorrect header script if member module uses its own layout #2474 2025-02-15 21:24:06 +09:00
Kijin Sung
76bb57ad80 Move some meta tags back above the <title>
원칙적으로 순서는 관계가 없으나, description이 title보다 먼저 나와야 한다고
주장하는 변태들이 있으므로 빌미를 주지 않기 위해 상단으로 다시 옮김.
2024-10-27 23:07:23 +09:00
Kijin Sung
bf0093b56a Move most meta tags above the <title> to below it #2419 2024-10-27 22:50:02 +09:00
Kijin Sung
b598083a8c Replace rx_ajax iframe form submission with proper AJAX using FormData 2024-10-09 17:21:38 +09:00
Malmani
28784b6540
Update ModuleHandler.class.php
Notice: Undefined property: stdClass::$menu_count
오류가 발생하는 부분을 수정합니다.
2024-08-16 19:46:05 +09:00
Kijin Sung
114755d13a Fix error when trying to instantiate class that isn't a ModuleObject 2024-04-16 21:32:15 +09:00
Kijin Sung
eb5dd18659 Support more HTTP methods #2287 2024-03-24 22:57:07 +09:00
Kijin Sung
9175d51bd5 Fix warning when forwarded module info does not contain all attributes 2023-12-30 21:05:31 +09:00
Kijin Sung
3e09ca63a9 Fix #2241 inconsistent handling of class name specified in event handler 2023-12-30 20:45:48 +09:00
Kijin Sung
618d075a99 Fix warning if header script is not defined in layout 2023-11-18 23:51:51 +09:00
Kijin Sung
d79c2f5140 Fix #2202 undefined properties if domain settings are not saved 2023-10-31 11:50:00 +09:00
Kijin Sung
a196706d7f Add Request class and make Router::parseUrl() return an instance of it 2023-10-29 23:32:49 +09:00
Kijin Sung
6215e57762 Add warning to discourage ruleset use
https://xetown.com/questions/1788526
2023-10-03 19:31:15 +09:00
Kijin Sung
028a56a678 Remove notice about moving to mobile site 2023-09-27 15:55:12 +09:00
Kijin Sung
a4b49048f3 Fix uppercase scripts not working as CLI command 2023-09-26 15:02:09 +09:00
Kijin Sung
e60ffb4e8d Add option to control partial page rendering (layout drop)
XE 시절부터 layout=none 또는 isLayoutDrop=1 파라미터로 레이아웃이 없는
부분적인 페이지 렌더링을 허용하는 기능이 있었습니다. 관리자 화면에서
팝업이나 iframe을 표시하는 용도로도 사용하고, AJAX로 페이지 일부 내용만
새로고침할 때 불필요한 데이터를 주고받지 않도록 하는 데도 유용합니다.

그러나 사이트에 따라서는 레이아웃을 적용하지 않을 경우 민감한 정보가
노출되는 등의 부작용이 발생할 수도 있으므로, 이 기능을 사용하지 않도록
선택하는 옵션을 제공합니다.
2023-09-12 00:33:54 +09:00
Kijin Sung
06e736178b Support sending all _rx_* POST fields as HTTP headers instead
하위호환성, 부가기능 등을 위한 _rx_* POST 필드가 점점 많아짐에 따라
모두 헤더로 대체할 수 있도록 지원하고, 앞으로 점점 헤더로 바꿀 예정

CSRF 토큰은 예전부터 X-CSRF-Token 헤더를 지원했음
2023-08-27 23:32:31 +09:00
Kijin Sung
42d09bde65 Provide a single entry point for all command-line scripts
Core example:

php index.php common.clean_empty_dirs
  -> executes common/scripts/clean_empty_dirs.php

Third-party example:

php index.php module_name.script_name
  -> executes modules/module_name/scripts/script_name.php

This should be the preferred method of executing PHP scripts included with
any third-party module, because it ensures that the working environment is
correct. For example, it will set the current working directory to Rhymix root,
check that the UID matches the usual web user, include all core libraries and
initialize the Context properly.

Over time, we will expand the command-line functionality similar to
the 'artisan' command in Laravel.
2023-08-16 23:12:25 +09:00
Kijin Sung
ed424f031e Capitalization 2023-08-16 22:45:48 +09:00
Kijin Sung
3241354872 Support customizing the default (base) class and install class of a module 2023-08-11 22:09:26 +09:00
Kijin Sung
7502b7308b Support custom namespaces in ModuleHandler and related processes 2023-08-11 21:56:42 +09:00
Kijin Sung
60a3edc994 Remove session keys, and always set httpOnly 2023-07-22 19:53:51 +09:00
Kijin Sung
959503b6ec Clean up references to deprecated DB methods in other places 2023-06-19 15:24:27 +09:00
Kijin Sung
f596947d0e Add option to make pages available only on one domain
- 2021년에 next 브랜치 적용을 목표로 작업했던 것 가져옴
- modules 테이블에 domain_srl을 추가하여 특정 도메인에서만 유효하도록 설정 가능
- site_srl 변수를 사용하던 곳 중 삭제할 수 있는 곳은 모두 삭제함
2023-06-18 02:53:04 +09:00
Kijin Sung
22abeb7a88 Fix fatal error if logged_info is not an object at this stage 2023-06-10 21:11:54 +09:00
Kijin Sung
9815102b38 Mark Context::convertEncodingStr() and related methods as deprecated
https://xetown.com/questions/1759076
2023-04-30 22:58:45 +09:00
Kijin Sung
875e5d1c2c Fix #2098 create an instance of MessageMobile class instead of MessageView if user is mobile 2023-04-02 15:40:57 +09:00
Kijin Sung
87a34af69e Fix #2072 redirect to proper URL if a document with is_notice=A is requested without mid 2023-03-23 22:44:51 +09:00
Kijin Sung
dfa1e93c79 Remove unnecessary header and footer from class files
- 아래에 이미 author 언급이 있으므로 중복되는 저작권 표기는 제거
- 클래스 하단에 불필요한 end of file 표시 제거 (파일 하나에 클래스 하나씩이므로
  파일이 중간에 끊겼다면 클래스가 닫히지 않아 쉽게 알 수 있음)
2023-01-30 23:52:23 +09:00
Kijin Sung
c881e73c1d Remove trailing whitespace in legacy class files 2023-01-17 21:07:55 +09:00
Kijin Sung
6c844f91ef Always set XE_VALIDATOR_ID and related variables 2023-01-17 00:15:00 +09:00
Kijin Sung
c07efe7905 Fix deprecation notices in PHP 8.2 #2064 2023-01-16 21:24:59 +09:00
Kijin Sung
a95ef14b8d Fix backward compatibility with admin module 2022-12-27 11:06:28 +09:00
Kijin Sung
117ae626b9 Fix #2041 don't replace lang codes in member menu until module init 2022-12-15 23:45:19 +09:00
Kijin Sung
b83c5c4b2c Remove unnecessary unset() 2022-12-15 23:37:35 +09:00
Kijin Sung
fd421c86fc Add more error codes in critical code paths in Context and ModuleHandler 2022-10-13 00:34:23 +09:00
Kijin Sung
e4e252c1b4 Add more detailed ERR_* error codes to common error messages
가장 많이 발생하는 '잘못된 요청입니다', '보안정책상 허용되지 않습니다'
오류에 좀더 구체적인 ERR_* 코드를 추가하여 디버깅 편의 개선
2022-10-13 00:23:20 +09:00
Kijin Sung
83e4b763ce Merge branch 'security/document-module-check' into develop 2022-08-16 08:55:44 +09:00
Kijin Sung
fa64ad3600 Fix RVE-2022-4 missing check for document module 2022-08-02 08:27:32 +09:00
Johnny
6a47800917 관리자 페이지에서 사이트의 컬러 설정이 안먹는 문제 고침 2022-07-26 07:54:49 +09:00