[Tip] UTF-8 Bom 문제 해결방법

PHP 에서 string을 외부에서 받아와 json_decode 등을 할 때 아무 이유없이 syntax error를 반환 하는 경우가 있다. 이럴땐 여러가지 의심을 할 수 있는데, 이번 이슈의 경우 Data를 가져온 곳이 web임을 가만했을때 가장 추측할 수 있는 것은 UTF8-BOM이다. BOM은 (Byte Oder Mark, BOM)으로 UTF-8, UTF-16을 구분하기 위해 윈도우에서 사용된다고 한다. 이런 경우 간단히 위 함수를 통해 …

[laravel] GuLa library

소개 GuL(a)ibrary (이하 구라블러리 ㅎ)는 sir.kr에서 만든 그누보드와 영카트의 테이블의 모델들을 묶어둔 라이브러리입니다.바로 DB를 바꿀순 없고 api, scheduler등 더 다양한 기능들을 기존 그누보드, 영카트를 유지하면서 laravel로 구현하기 위해 만들어졌습니다. 실은 그누보드로 만들어진 사이트 서로 연동 하는 작업하는데 raw php론 너무 힘들어서 만들엇습니다. ㅎ 특징 구라블러리는 그누보드와 Laravel에서 사용할 DB를 따로 분리하여 운영이 가능합니다.구라브러리는 Laravel의 relation을 …

[PHP:rfc] 더 짧은 속성 구문

원문: https://wiki.php.net/rfc/shorter_attribute_syntax PHP 8.0에선 많은 내용들이 추가되면서, rfc들도 많이 요청되면서 다양한 토론들이 이루어지고 있습니다.해당 rfc는 2020/06/03 23:24에 최초로 생성된 rfc이며, 내부 검토를 마치고 토론중에 있습니다. 주장도 함리적이고, 내용들에 대해서 자세한 예시까지 해줘서 해당 rfc를 간단한게 정리해보았습니다. PHP RFC: Shorter Attribute Syntax Introduction 우리는 PHP 8.0에서 속성 구문을 <<Attr>> 대신 @@Attr을 사용할 것을 제안합니다. 저번달 초, …

간단히 공부하는 OAuth

이번 프로젝트 중에 OAuth를 구현하는 프로젝트가 있어 늘 궁금했지만, 그리고 늘 해야한다고 생각만 했던 OAuth에 대해 공부한 내용을 최대한 간단하고 간결하게 이야기해보려고 한다. OAuth 1.0 ? 2.0? 왜 다들 2.0 만 사용하는지 궁금했는데, 간단히 요약하면,2.0은 Https에게 보안을 전가 하고 인증에만 중심을 두겠다는거고,1.0은 http던 https던 ftp던 뭐던 상관없이 (독립적으로) 인증을 하기위해 직접 보안을 신경써서 전송하겠다는 거다. …

[Laravel] Route와 Conroller에서 id를 inject할 때 한 실수

훈련소를 다녀와서 코드를 보고 머리가 돌아가는 속도가 떨어졋다지만 이 정도 일줄은 몰라서 2시간 동안 해멘건데 적어둡니다. Laravel에선 Route 을 할때 slug를 설정해 컨트롤러에 Model을 넣어줄수 있다. (DI.. 맞나?)암튼 거기서 실수한 썰을 짦게 남겨 놓습니다. 죽어라 /korea/1 로 접근 해도 안되어 미치는 줄 알았는데,KoreaController의 show메서드를 자세히 보면 ‘korea’가 아니라 ‘korae’ 였다. 즉, Route에서 설정한 {korea}와 Controller에서 …

그누보드 Hook 사용법

최근 그누보드 업데이트 스크립트를 만들면서, 코어 코드가 수정되었을때 자동으로 업데이트 해주는 기능 구현에 애를 먹고 있다.하지만 그누보드 5.4부터 새로 추가된 hook을 사용하면 코어코드에 대한 수정을 최소한으로 하거나 혹은 코어 수정없이 진행가능하기에 업데이트가 용이하다. Hook Hook은 단어 그대로 갈고리처럼 코드 중간에 갈고리를 걸어, 코드를 실행시켜주는 기능을 한다.혹은 이벤트-리스너와 같은 기능을 한다고 생각해도 좋다. 그누보드가 Hook을 어떻게 …

[패치됨] Laravel 7.x – XSS vulnerability

이 포스팅은 laravel 7.0 ~ 7.1.2 까지 버전에 존재하는 취약점 입니다.사용중이신 버전이 포함되어있다면 laravel 7.1.3이상으로 업데이트 하시기 바랍니다. Laravel news of XSS vector laravel-news 에서 7.1.2 미만의 버전에서 XSS 공격 포인트가 있으니 업데이트하라는 소식이 들려와 어느부분이 취약한지 궁금해 해당 부분에 대한 코드를 찾아 봤다. Github를 의 커밋 로그를 보면 attributesToString 메소드에 $escapeBound 옵션이 추가되었고, sanitizeComponentAttribute란 …