Security 클래스는 보안과 관련된 유틸리티를 모아 놓은 클래스로, 인스턴스 생성이 필요하지 않습니다.
Security 클래스에서 제공하는 것과 유사한 암호화, 난수 생성 등의 작업을 할 때는 가능하면 직접 구현하여 쓰지 말고 라이믹스 프레임워크에서 제공하는 것을 사용할 것을 권장합니다.
public static function getRandom(int $length = 32, string $format = 'alnum'): string
※ 실제 소스나 주석에 타입 선언이 없더라도 유추하여 작성합니다. 입력값이나 반환값의 타입이 여러 가지인 경우 ?object
, array|false
, void
등 최신 PHP 문법이나 PHP 매뉴얼과 유사한 형식으로 표현합니다.
- 임시 비밀번호, 암호화 키 등 난수가 필요할 때 사용합니다.
- 문자열 형태의 난수를 생성하는 데 최적화되어 있으며, 정수가 필요할 경우
getRandomNumber()
메소드 사용을 권장합니다. - 사용자의 시스템에서 사용할 수 있는 가장 안전한 난수 생성기를 자동으로 감지하도록 되어 있습니다. PHP 7 이후 대부분의 서버에서는
random_bytes()
내장함수를 사용합니다.
$length
: 반환할 문자열의 길이$format
: 반환할 문자열의 형태binary
: 바이너리를 그대로 반환합니다. 화면에 표시할 수 없는 문자나 널바이트 등이 포함될 수 있으므로, 직접 출력하거나 저장하기보다는 암호화 초기화 벡터 등 다른 연산의 입력값으로 활용하는 데 적합합니다.hex
: 0-9, a-f 문자만을 사용하여 인코딩합니다. 일정량의 엔트로피를 담는 데 가장 많은 문자가 필요합니다.alnum
: 영문 대소문자와 숫자를 사용합니다. (기본값)printable
: 특수문자를 포함하여 화면에 표시할 수 있는 모든 아스키 문자를 사용합니다.
- 지정한 길이의 문자열을 반환합니다.
- 반환값은 매번 다르며, 예측 가능한 주기로 반복되지 않습니다.
- 이 메소드는 예외를 발생시키지 않습니다.
$secret_key = \Rhymix\Framework\Security::getRandom(24, 'printable');
- Password
- Security::getRandomNumber()
- Security::getRandomUUID()
- 관련 외부 링크, PHP 매뉴얼 등
자바스크립트 전역 변수
default_url [string]
이 사이트의 메인 페이지 경로
current_url [string]
현재 보고 있는 페이지의 주소로, 짧은주소를 적용하지 않은 버전입니다.
짧은주소가 적용된 페이지 주소를 얻으려면
location.href
를 사용하면 됩니다.request_uri [string]
AJAX 요청을 위한 경로로, 대개
default_url
과 같습니다.current_lang [string]
현재 언어 (예:
ko
)current_mid [string]
현재 페이지에 해당하는 mid 값 (예:
board
)http_port [int|null]
HTTP 포트 설정
※ 내부적으로만 사용하며, 서드파티 자료에서 참조하는 것은 권장하지 않습니다.
https_port [int|null]
HTTPS 포트 설정
※ 내부적으로만 사용하며, 서드파티 자료에서 참조하는 것은 권장하지 않습니다.
enforce_ssl [bool]
SSL을 항상 사용하는 사이트인 경우
true
, 그렇지 않은 경우false
cookies_ssl [bool]
"보안 설정" 화면에서 SSL 쿠키를 사용하도록 설정된 경우
true
, 그렇지 않은 경우false
rewrite_level [int]
짧은주소 미사용시
0
, XE 호환 형태만 사용시1
, 모든 형태 사용시2