No Image

[python] ValueError: zero length field name in format.

2018-03-29 KENNETH 0

사용하던 스크립트의 코드를 최신(그래봐야 수년 전이지만…) 트랜드로 맞춰보기 위해 기존 : %s 변경 : format 함수 사용 형태로 변경을 시도 함.. 작성한 코드   실행을 해보니 헐… 에러가..ㄷ ㄷ ValueError: zero length field name in format. 요렇게… 아무리 봐도 코드가 틀린것 같지 않아서 찾아보니… 구버전 파이썬 문제라네… 세상에나 https://pyformat.info/ 여기에서 참고 하고 갖다 썼음에도 뭔 이런 상황이… 라고 했으나.. 저 페이지 중간에 With new style formatting it is possible (and in Python 2.6 even mandatory) to give placeholders an explicit positional index. 주의 문구가 있었다.. ㅎㅎㅎㅎㅎ 하필 이것을 테스트 했던 서버의 파이썬 버전이 2.6…. 그래서 이렇게 변경 해줌 변경후 제대로 실행 됨… 근데 2.6 에서는 저렇게 인덱스를 넣어줘야 한다면 중간에 필드를 추가 할 경우, 추가된 자리 이후의 인덱스에 죄다 +1 을 해줘야 한다는건데.. 그러면 format 함수의 장점을 살린다고 보기 어렵지 않겠냐능…..

No Image

[python] 현재 실행중인 함수 이름 구하기 (sys._getframe().f_code.co_name)

2018-03-27 KENNETH 0

파이썬 함수 내에서 현재 실행중인 함수 이름 구하기 함수를 실행중에 “오류(예외)”를 만날 수 있으므로 로그를 남기고… 남기는 로그 형식은 “[함수이름] 에러 내용” 형태로 기록 되도록 처리 했음 함수내에 일일이 함수이름을 “직접 입력” 했었는데.. 아무리 생각해도 비효율적인 것 같다는 생각이 듬 그래서 찾아보니 방법이 있긴 있음 filename : get_func_name.py   실행결과 # ./get_func_name.py The current running function name : ilaya1   이렇게 되면 더이상 함수이름을 직접 입력하는 번거로움을 덜 수 있겠군….

No Image

cannot load media library on wordpress (feat. modsecurity & sql injection ruleset)

2018-02-26 KENNETH 1

cannot load media library on wordpress (feat. modsecurity & sql injection ruleset)   1. 환경 OS : LINUX (CentOS-7) WEB : apache-2.4 (with mod_security) PHP : 7.1   2. 증상 어느날 갑자기 워드프레스의 “미디어 라이브러리”를 클릭 하면 아무것도 보이지 않음 “클릭” 하면 화면은 열리지만 이미 업로드된 미디어 목록이 보이지 않는 문제   3. 사건발생의 “전” 상황 추정 워드프레스 쪽에 별다른 수정을 한 내용 없음 서버 환경에 대해 변경된 내용 없음   4. 페이지 로딩시 특이 사항 페이지 로딩중 목록을 체크 해 보니 /wp/wp-admin/load-scripts.php 를 로드 하면서 “403” 에러 발생… 잉???   5. 4번의 검토 사항 GET /wp/wp-admin/load-scripts.php?c=0&load%5B%5D=hoverIntent,common,admin-bar,underscore,shortcode,backbone,wp-util,wp-backbone,media-models,wp-plupload,jquery-ui-mouse,jquery-u&load%5B%5D=i-sortable,wp-mediaelement,wp-api-request,media-views,media-editor,media-audiovideo,mce-view,imgareaselect,image-edit,media-grid&load%5B%5D=,media,svg-painter,heartbeat,wp-auth-check&ver=4.9.4 HTTP/2.0 이 GET 액션이 modsecurity 에 걸린것이 확인됨.. ㄷㄷ 허나… 3번 항목에서 설명 한 것 처럼 서버의 환경을 변경한 사항은 없으며 특히나 mod_security 룰셋은 아주 오랫동안 변경한 내용이 없었음   6. 근데 왜 걸린거냐??? 음… mod_security 룰셋.. 그 중 sql injection 룰셋중 하나를 [ more… ]

No Image

“configure: WARNING: nghttp2 version is too old” when compile httpd-2 support http2

2018-02-08 KENNETH 0

1. 오류 메세지 checking for pkg-config along … checking for nghttp2 version >= 1.2.1… FAILED configure: WARNING: nghttp2 version is too old   2. 상황 HTTP2(h2) 지원을 위해 아파치2 컴파일 중 발생   3. 서버 현황 OS : CentOS-6 or 7 apache : 2.4.29 nghttp2 : 1.21.1   분명 nghttp2 패키지는 설치 되어 있고 버전 요구 사항도 충족을 하고 있음에도… 버전이 오래되었다고 나옴 소스를 파볼 능력도 안되고, 파보지도 못했지만… – 소스에 문제가 있을 가능성을 직감 – 보통 require 를 위해 패키지를 설치할 경우 redhat 계열에서는 devel 패키지를 설치 해줘야 하는 상황을 미루어.. libnghttp2-devel 패키지를 설치 해줌 그랬더니 해결됨   이건 분명 “헤더파일을 찾을 수 없음” 류의 에러가 나오도록 소스가 수정되어야만 한다…. 아무리 따져봐도 “버전이 낮아서”는 아니지 않냐…. 개선좀 하자.. ;;

No Image

[Apache & PHP] “zend_mm_heap corrupted” error on apache logs

2018-01-03 KENNETH 0

[Apache & PHP] “zend_mm_heap corrupted” error on apache logs   오류 내용 zend_mm_heap corrupted   발생 환경 OS : CentOS-7 WEB : apache-2.4 PHP : php-5.6   참고 : https://stackoverflow.com/questions/2247977/what-does-zend-mm-heap-corrupted-mean http://php.net/manual/en/internals2.memory.management.php   설정 FILE : $APACHE_HOME/bin/apachectl export USE_ZEND_ALLOC=0   절대적인 내용은 아니겠고, 이런 설정을 apachectl 에 한번 추가를 해보자…   PHP 메뉴얼에는 Note: USE_ZEND_ALLOC=0 in the environment will stop the memory manager from functioning, all allocations fall back on the default system allocators which can be useful for debugging leaks, and should only be used for this purpose. 이렇게 설명이 되어 있었다… ㅋㅋㅋㅋ