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