Skip to content

Instantly share code, notes, and snippets.

View kijin's full-sized avatar
🐻

Kijin Sung kijin

🐻
View GitHub Profile
@kijin
kijin / example.md
Last active April 19, 2022 07:03
Rhymix Manual Template

Rhymix\Framework\Security

Security 클래스는 보안과 관련된 유틸리티를 모아 놓은 클래스로, 인스턴스 생성이 필요하지 않습니다.

Security 클래스에서 제공하는 것과 유사한 암호화, 난수 생성 등의 작업을 할 때는 가능하면 직접 구현하여 쓰지 말고 라이믹스 프레임워크에서 제공하는 것을 사용할 것을 권장합니다.

getRandom()

public static function getRandom(int $length = 32, string $format = 'alnum'): string
@kijin
kijin / rx_ajax_comment.html
Last active March 22, 2022 03:39
라이믹스 2.0 새로고침 없는 댓글 예제
<!-- 폼에 rx_ajax 클래스를 추가하면 새로고침 없이 AJAX로 제출됩니다. -->
<!-- 제출 완료후 호출하기를 원하는 함수명을 data-callback-success 속성에 지정합니다. -->
<!-- 나머지는 라이믹스 코어가 알아서 합니다. -->
<form action="./" method="POST" class="rx_ajax" data-callback-success="refreshComments">
<!-- 댓글 작성을 위해 기본적으로 전송해야 하는 내용들 -->
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="procBoardInsertComment" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />
<!-- 내용을 에디터로 입력받거나 파일 업로드를 넣는 것은 숙제로 남겨둘게요.^^ -->
<textarea name="content" placeholder="댓글 내용"></textarea>
@kijin
kijin / xmlconv.php
Created September 30, 2016 02:32
Convert XE lang files to XML format
<?php
/**
* XE 구버전의 PHP 언어파일이나 라이믹스의 PHP 언어파일을
* lang.xml 형식으로 변환하는 프로그램
*
* Copyright (c) 2016 Kijin Sung <kijin@kijinsung.com>
* License: MIT
*/
@kijin
kijin / fixcloudflare.php
Last active January 21, 2023 14:51
CloudFlare 사용시 실제 방문자 IP 및 SSL 사용 여부 파악
<?php
/**
* CloudFlare 사용시 실제 방문자 IP 및 SSL 사용 여부를
* 정확하게 파악하지 못하는 문제를 해결하는 클래스
* 웹서버에 mod_cloudflare를 설치하기 곤란한 경우 사용한다
*
* Written by 기진곰 <kijin@kijinsung.com>
* License: Public Domain
*
@kijin
kijin / pbkdf2.compat.php
Created May 22, 2014 13:26
PBKDF2 for Older Versions of PHP - Based on @defuse's Code
<?php
/*
* Password Hashing with PBKDF2 (http://crackstation.net/hashing-security.htm).
* Copyright (c) 2013, Taylor Hornby
* All rights reserved.
*
* Modified to Work with Older Versions of PHP
* Copyright (c) 2014, Kijin Sung
* All rights reserved.
*
@kijin
kijin / korean_inflection.php
Created March 24, 2014 07:05
한글 단어 마지막 글자에 받침이 있는지 확인하는 함수
<?php
// License: Public Domain
//
// 마지막 글자에 받침이 있으면 0보다 큰 정수를 반환하고
// 받침이 없으면 0을 반환한다.
//
// 예:
// $word = '깃허브';
// echo $word . (has_batchim($word) ? '을' : '를');
@kijin
kijin / attachment.php
Last active August 24, 2020 02:58
UTF-8 파일 다운로드 함수
<?php
/**
* PHP 파일 다운로드 함수.
* Version 1.3
*
* Copyright (c) 2014 성기진 Kijin Sung
*
* License: MIT License (a.k.a. X11 License)
* http://www.olis.or.kr/ossw/license/license/detail.do?lid=1006
@kijin
kijin / rsa_encrypt.php
Created January 23, 2014 04:55
PHP에서 RSA 개인키/공개키 조합을 사용하여 서버에 비밀번호를 저장할 필요 없이 문자열을 암호화하는 법
<?php
// 비대칭 알고리듬인 RSA를 사용하여 문자열을 암호화하는 법.
// 개인키 비밀번호는 암호화할 때는 필요없고 복호화할 때만 입력하면 되므로
// 서버에 저장할 필요 없이 그때그때 관리자가 입력하도록 해도 된다.
// PHP 5.2 이상, openssl 모듈이 필요하다.
// RSA 개인키, 공개키 조합을 생성한다.
// 키 생성에는 시간이 많이 걸리므로, 한 번만 생성하여 저장해 두고 사용하면 된다.
// 단, 비밀번호는 개인키를 사용할 때마다 필요하다.
@kijin
kijin / aes_encrypt.php
Last active September 18, 2019 14:44
PHP에서 AES-256과 HMAC을 사용하여 문자열을 암호화하고 위변조를 방지하는 법
<?php
// AES-256과 HMAC을 사용하여 문자열을 암호화하고 위변조를 방지하는 법.
// 비밀번호는 서버만 알고 있어야 한다. 절대 클라이언트에게 전송해서는 안된다.
// PHP 5.2 이상, mcrypt 모듈이 필요하다.
// 문자열을 암호화한다.
function aes_encrypt($plaintext, $password)
{
@kijin
kijin / ezpdo.php
Last active March 23, 2021 18:28
Easy PDO wrapper class
<?php
/**
* Easy PDO for PHP 5.x
* Version 1.2
*
* Copyright (c) 2009-2014 Kijin Sung <kijin@kijinsung.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal