2024. 5. 3. 23:22

 /.git 폴더가 웹폴더 안에 있었는데... 이게 /.git URL로 접근이 가능하다.

 

그러면, config 파일안에 세팅해놓은 소스 주소나, 비밀번호까지 알 수있다.

 

ㅠㅠ

 

일단 웹서버에서 아파치 폴더로 이동.

 

버전별로 

/etc/httpd/conf

/etc/apache2/conf-enabled

등등이니, 폴더 들어가서 

 

httpd.conf

또는 seccurity.conf 폴더로 들어가서 

아래와 같이 추가하면 된다고 하나... 

<DirectoryMatch "/\.git">
	Require all denied
</DirectoryMatch>

 

이거는 403 Forbidden 이고, 

 

이거보다는 404 Not Found로 처리하는것을 선호한다. 

 

그래서 아래와 같이 쓴다고 하나 (svn, git 등등 다 같이...제한)

RedirectMatch 404 /\\.(svn|git|hg|bzr|cvs)(/|$)

 

난 이거보다는 

VirtualHost를 사용중이라 VirtualHost안에 아래와 같이 추가해주었다.

 

<VirtualHost *:80>
	RewriteRule ^.*\.git.* - [R=404]
</VirtualHost>

 

RewriteRule ^.*\.git.* - [R=404] 이거 한줄만 복사(yy) 해서 host별로 붙여넣기(p) 해주면 편하다.

 

 

 

 

참고 사이트

https://stackoverflow.com/questions/6142437/make-git-directory-web-inaccessible

https://www.lesstif.com/software-architect/apache-httpd-svn-git-23756896.html

https://tom-dlog.tistory.com/entry/LinuxApache2-git-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EC%A0%91%EA%B7%BC-%EC%B0%A8%EB%8B%A8%ED%95%98%EA%B8%B0

 

Posted by Tyson
2024. 4. 4. 10:19

csv나 txt 파일에 데이터 양이 많아서, DB에 직접 업로드해서 볼려고 하면, 

업로드를 해야하는데, DBever나 기타 프로그램들을 통해서 업로드 하려면 너무 오래 걸린다.

 

그래서 오라클의 경우 DB로더를 사용해서 업로드를 하게 되는데....

 

파일 세팅해야되는 부분이 있고, 옵션들이 많이 있어서.... 

 

일단 한번 정리해 놓으려고 한다.

 

DB로더를 사용하기 위해서는 업로드 테이블, 필드값들에 대한 정보가 있는 control 파일(.ctl)을 작성해야 된다.

그리고, 실행하기 위해서 실행명령어를 작성하는데... 작성 내용이 길기 때문에 대부분 배치파일 (.bat) 파일을 생성해서

거기에 명령어를 작성하고 한번에 실행하는게 편하다.

 

예를 들어서 upload.ctl 파일을 생성하고, upload_run.bat 파일을 만들어서 bat파일안에 upload.ctl 파일을 작성해서 로드해주는거다. 

 

 

1. Control 파일에 대한 설명 

options(skip =1) 
LOAD DATA
CHARACTERSET  UTF8
INFILE 'log_001.CSV' 
INFILE 'log_002.CSV' 
BADFILE 'log_bad.bad'
DISCARDFILE 'log_bad.dsc'
APPEND
INTO TABLE "디비명"."테이블명"


FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"' AND '"'
trailing nullcols
(field01,
field02,
field03,
field04,
field05,
field06 char(350),
field07 char(350),
field08)

 1) options(skip =1) 

    - 이 옵션은 첫번째 줄은 생략한다는 명령어임 대부분 첫째줄은 필드명이 작성되어 있어서 생략해서.. 이렇게 작성함.

    - 하지만, 이 옵션은 여기control파일에 작성하는 것보다. bat 파일 실행 명령어에 작성하는 것을 추천한다. 이거는 뒤에서 다시 설명

 

 2) CHARACTERSET  UTF8

     - 한국어가 깨지면 UTF8로 하면 안깨지고 들어간다. 

     - 가끔 DB 설정 언어랑 안되서 업로드 안될때 있는데...그때는 DB 언어를 UTF8로 맞춰주는것을 추천한다.

 

 3) INFILE 'log_001.CSV' 
     - 입력할 데이터가 있는 파일명을 적어 주는 것이다. 

     - 하지만 파일이 많을때 여기에 적는 것보다, bat 파일에 개별로 실행하는 하는 것을 추천한다. 

     - 여기서는 INFILE 명령어를 생략하고 배치 파일 명령어에서 파일을 작성하는 것을 추천함. 

 

   4) BADFILE 'log_bad.bad'

      - 업로드할때 필드 길이 등으로 인해 업로드 되지 않는 데이터를 따로 저장한다. 

 

   5)DISCARDFILE 'log_bad.dsc'

       - 로그 업로드에 대한 정보 파일을 저장한다. 예) 업로드 파일 수, 실패수 등

 

   6) INTO TABLE "디비명"."테이블명"

       - 업로드될 디비유저명 과 테이블명을 작성해 줘야한다. 

 

   7) FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"' AND '"'

       - CSV 파일 업로드 할때 구분자를 지정해 주는거다. 

       - 기본 CSV파일은 콤마(,) 구분이고, 데이터들을 따옴표(")로 묶여 있기 때문에 위 명령어를 쓴다. 

       -> txt 파일의 탭 구분으로 할 경우에는 아래와 같이만 작성해준다. (9가 탭 코드 번호임)

        -> FIELDS TERMINATED BY X'9'

 

    8) trailing nullcols

       - 필드값에 null (값없음) 있어도 그냥 빈값으로 넣고 넘어가라는 이야기임. 
       - 이게 없으면 null값의 경우 에러가 남. 

   

   9) (field01, field02)

       -  이런식으로 괄호안에 DB 필드명을 순서대로 작성해주고, 마지막 콤마(,)는 빼준다. 

 

   10) field06 char(350),

       -  char(350) 또는 char(4000)으로 작성해준다. 

       - DB에 필드 사이즈를 4000으로 잡아도, 디비로더에서 디폴트로 255로 잡혀 있어서, 필드값 사이즈가 넘어가면, 에러가 나기 때문에 한 필드값이 긴거는 위처럼 하나씩 작성해준다. 

 

-> 아래는 txt파일 탭 구분으로 사람들 전화번호랑 주소값 넣는거로 작성한거다.

    위에 설명했지만 아래 없는 것들은 배치파일에서 명령어에서 처리한다. 

LOAD DATA
CHARACTERSET  UTF8
APPEND
INTO TABLE "DBUSER"."LOG_TABLE"
FIELDS TERMINATED BY X'9'
trailing nullcols
(NAME,
MOBILE,
ADDRESS char(350),
ETC)

 

 

2. Control 파일 

이제는 실행파일을 만들어야 한다. 

이전에 작성한 글(https://tyson.tistory.com/234)을 참고해도 되지만 다시한번 정리하면, 

메모장에서 uplaod_run.bat 파일을 생성하고 아래와 같이 작성해준다.

sqlldr db유저/암호@디비아이피:포트/SID CONTROL=콘트롤파일명 data=데이터파일명 LOG=결과로그파일 BAD=실패데이터파일
sqlldr user/password@192.168.0.100:1521/SID CONTROL=upload.ctl data=log_data_01.txt LOG=log_01.log BAD=bad_log_01.bad 
sqlldr user/password@192.168.0.100:1521/SID CONTROL=upload.ctl data=log_data_02.txt LOG=log_02.log BAD=bad_log_02.bad
sqlldr user/password@192.168.0.100:1521/SID CONTROL=upload.ctl data=log_data_03.txt LOG=log_03.log BAD=bad_log_03.bad
sqlldr user/password@192.168.0.100:1521/SID CONTROL=upload.ctl data=log_data_04.txt LOG=log_04.log BAD=bad_log_04.bad skip=1

 

업로드 파일이 여러개일 경우 이전 control.ctl 파일 INFILE을 여러개 적는것보다

콘트롤파일에서는 생략하고, 위처럼 배치 파일에 개별로 작성해 주는것이 좋다.

 

그래야 각 로그가 생성되어 중간에 어디까지 들어갔는지, 어떤게 에러 났는지 확인하기 좋기 때문에 배치파일에 

개별 파일을 적는 것을 추천한다. 

 

그리고, 아까 말한 control 파일의 맨첫줄 제외하는 skip 옵션은 콘트롤 파일에서 제외하고, 

명령어에서 마지막 파일처럼 skip=1 옵션으로 적어 주는 것이 좋다.

 

각 파일들마다 어떤거는 필드값이 있고, 없는게 다르기 때문에 파일에 작성해 주는 것이 낫다.

 

여기는 직접 아이피를 적어 주었는데, tns파일에 세팅이 되어 있으면 tns명으로 작성해주면 된다. 

 

그리고, 위처럼 아이피를 직접적을때는 SID부분도 확인해서 작성해줘야 된다. 

처음에 SID안쓰니, 에러가 나오더라..

 

이것 저것 대량 파일을 전달 받아보니, txt파일에 탭 구분이 제일 안전하다...ㅠㅠ 

데이터 뽑을때 탭의 경우는 미리 스페이스로 치환해서 받으면 중간에 에러없이 대부분 잘 들어간다.

 

 

Posted by Tyson
2023. 7. 25. 11:43

>composer install 

실행시 토큰 에러 

또는 composer update 시

 

위처럼 에러가 뜨면.... 

 

밑에 링크 들어가면, 깃허브 로그인 페이지로 연결되고, 로그인하면,

토큰생성 페이지가 뜬다.

 

거기에서 밑에 토큰 생성하고,

생성버튼 누르면,  아래처럼 토큰이 뜨고, 토큰 복사해서 붙여 넣기 하면 된다.

 

또는 아래 명령어에 토큰을 붙여서 실행해도 된다.

 

> composer config --global --auth github-oauth.github.com [토큰]

그러면 토큰 깃헙 토큰 설정이 완료되고,

 

> composer install 를 다시 실행하면 된다.

 

'컴퓨터 > Laravel(라라벨)' 카테고리의 다른 글

라라벨 세션, 토큰 생성 안될때,  (0) 2021.08.24
라라벨 419 에러  (0) 2021.08.24
라라벨 캐쉬 지우기  (0) 2021.08.24
Posted by Tyson
2023. 4. 28. 17:53

나라에서 신혼부부들을 위한 신혼희망타운으로 분양을 했었다.

 

처음에 우리도 "오~ 나라에서 신혼부부들을 위해서 좋은 정책을 만든다고 생각했다."

 

하지만 이 실태를 알고 나면 처음에 황당하다....

 

먼저 지원 자격에 소득기준이 높으면 안된다.

 

 

많이 벌면 지원 자격이 안된단다.

 

 

애들이 많고, 집이 없어야 되고, 많이 벌면 안된다는 말이다...

 

그래..여기까지는 선정 방식이니까 이해 할 수 있다.

 

하지만 이때도 아내가 일을 쉬고 있었는데...재작년도 소득을 현재 소득으로 잡아서 자격이 안된다고 해서 

소득 증명해서 겨우 선정이 될 수 있었다. 

그때 생각하면...아직도 아찔하다...

 

실재로 퇴사하고 실업급여 받은 어떤 사람은 소득이 넘어가서 자격탈락했다고 하더라..

 

그 다음에 이제.... 계약하려고 보니,

 

"신혼희망타운 전용 주택담보장기대출상품(수익공유형 모기지)"가 필수라고 이걸로 대출 받으란다...

 

1.3%대 저금리라해서 혹 했는데...

 

내용을 보니... 저금리이기 하지만, 나중에 집을 팔때 시세차익의 최대 50%~10%까지 내야 된다고 하더라..

 

엥??? 이게 무슨소리인지 보니.....

 

주택으로 시세차익을 노리는 것을 방지하고 실거주자들을 위한 정책이란다.

 

주택가격이 예로 3억 100만원 이상일 경우 무조건 이 모기지 상품을 이용해야 되고... 그 이하일 경우는 알아서 다른대출 받아도 된단다.

 

이런 비율로 시세차익을 공유해야 된단다. 

 

보통 디딤돌보다 금리가 1% 이상 차이가 나지만.... 계산해보면, 집 가격이 5천만원만 차이나도 30%로 봤을때 1500만원을 내야 되는거다.

 

진짜 이걸로 기금만 돈 벌어주는 꼴이다.

 

나라에서 주택은 사는게 아니고, 진짜 사는 곳이라고 이야기 하지만. 

 

이거는 좀 아닌거 같다. 

 

시세차익 내기 싫으면 애들 많이 낳고 오래오래 살아라. 라는 말인데... 

 

신혼희망타운 제일 큰 평수가 55인데, 거기에 애들 2명 이상 낳고 살라니...

 

애들이 좀만 커도 각자 큰방이 필요한데... ㅠㅠ

 

진짜 세대수 늘려서 실적 부풀리기 용으로 밖에 안만든게 너무 보인다.

 

그래서 저 모기지를 안하려면, 옵션을 다 빼고, 미옵션을 선택하면 모기지를 안해도 되는 금액대로 떨어지긴한다.

 

아니면, 옵션을 해도 분양가가 낮은 1층 정도만 포함된다.

 

그래서 현재 우리 신혼희망타운은 거의 약 900세대 중 400세대가 미옵션을 선택한 것으로 알고 있다.

 

400세대가 미옵션으로 시멘트만 있는 집에서 따로 인테리어를 해야 되는 상황이 발생한거다.

 

진짜... 인테리어 업체만 돈 벌어주는.....ㅠㅠ

 

400세대가 한꺼번에 인테리어를 진행해야 되는데.... 과연 아파트가 버텨낼지도 걱정이다. 

 

입주할때 입주하는 세대, 인테리어하는 세대..들이 뒤엉켜서 엘리베이터는 혼란이 생길거고...

 

많은 집들이 인테리어 한다고 시끄러울텐데... 미리 입주한 사람들은 소음에 힘들거고,

 

많은 공사들이 한번에 이루어 지면, 과연 아파트가 붕괴 위험은 없을지도 걱정이다.

 

그리고...이런 정책을 만든 사람들이 과연 무슨 생각으로 만들었는지 모르겠지만....

 

사이트에 보면, 

 

이런거 외에 더 있는데 생략하겠다.

 

일단 아파트 단지안에 어린이 집과 보육시설이 있다고 하는데...

 

자.... 900세대가 다 신혼부부다. 그리고 아이가 있는 사람 곧 아이를 나을사람들이 대부분일 거고....

 

생각보자... 어린이집가야되는 세대가 절반은 될텐데... 450세대 1명씩만 해도 450명을 수용할 수 있을까???

 

희망타운내 어린이집은 2~3개 정도밖에 계획에 없던데..

 

다 수용이 가능할까?? 안되는 세대들은 외부 어린이 집을 알아봐야한다.

 

그리고 놀이터, 놀이방등이 있다고 하지만. 몇개 없는 시설에 그 많은 아이들이 몰릴거고....

 

이 정책을 만들때 경제학자들은 참여 안했나 싶다.

 

경제적으로 여러 나이대의 세대들이 있어야지 그 동네 경제가 꾸준이 돌아 갈텐데....

 

일단 이번에 들어가는 신혼부부들과 자녀들을 위한 학교나 어린이집, 유치원들이 증축을 하던지, 

 

새로운 어린이집들을 만들어야 할텐데... 만들고 나면,???

 

10-20년후에는 아이들은 다 커서, 노인들만 남는 그런 아파트가 될텐데????

 

그 안의 어린이집이며, 주변 아이들 관련 교육 관련 업체들은 줄 도산할 수 밖에 없는 구조가 될거다.

 

학교들도 정원을 늘렸다가 애들이 10년후에 다 졸업하면 다시 인력을 줄여야 하고...

 

다른지역은 각 반에 20명 정도라면..신혼희망타운 근처 학교는 한 반에 30명이 넘을 수도 있는 상황이 발생한다.

 

주변학교, 인프라의 경제성 분석도 안하고...

 

그냥 표심을 위해서 만든 이런 정책들이 과연 어떨지....

 

이제 신혼희망타운들이 입주를 시작하고... 위에서 말한 문제들이 이제 표면으로 곧 드러날 거다.

 

아마 한 세대를 한곳에 모아 놓았을때 벌어지는 상황들이 전세계 학자들의 연구 대상이 될 것으로 보인다.

 

만약에 입주시기에 인터리어가 몰리면서 붕괴위험이나..이런 문제들이 붉어지면... 또 말도 안되는 정책을 내세우면서...

 

입주나 인테리어시기를 뒤로 미룰거 같은데... 그러면 진짜 화가 날거 같다. 

 

진짜 여기 입주전까지는 부모님 집으로 세대를 옮겨 놓을 수도 없다. 

 

부모님 집이 자가일 경우, 내 소득과 같이 잡혀서 입주 취소가 될 수도 있단다.

 

진짜 저런 말도 안되는 제약들은 다 걸어놓고... 이것도 못하게, 저것도 못하게 하고......

 

그리고 대출 받아서 집 사고.... 많이 벌지는 말고, 적당히 벌고, 그냥 여기서 평생 살어.... 라는 정책은

 

이해가 할 수 없다.

 

 

앞으로 이런 말도 안되는 정책보다는 좀 더 고민하고 연구해서 자유경제주의에 맞는 정책을 내 놓으면 좋겠다.ㅠ

Posted by Tyson
2022. 9. 15. 16:14

 

안드로이드 12로 업데이트 하고, 

 

마이크나 카메라 사용시, 

 

아래 그림처럼 상태표시줄 오른쪽 위에 녹색 표시가 화면이 꺼져도 보이게 되었다..

 

 

보안 이슈로 마이크나 카메라 사용시 표시로 생겼다고 하는데.....

 

업무상 녹음 할 일이 많은경우, 녹색 불이 굉장히 거슬린다.

 

저 녹색표시를 어떻게 없앨까 알아보다가...

 

그래서 안드로이드 11로 다운그레이드 하려고 알아봤는데,,,

 

서비스 센터에서는12로 올라가면 11로 해주기 어렵고  OS 파일도 없어서 안된다고...하더라...ㅠㅠㅠㅠㅠㅠㅠ

 

그래서 안드로이드 11 OS파일을 엄청 찾아봤는데.... 있는데..외국서버에 있어서 다운받는데....6gb 받는데 6시간이 걸리더라..

 

겨우 찾아서 이것저것 하려고 보니... 이게 더 일이더라..

 

그러다 찾은 방법은 안드로이드 설정을 바꾸는 거였다.

 

이거를 하기 위해서는 기본적으로 안드로이드 개발자모드를 사용해야하고,

개발할때 사용하는 adb라는 라는것을 써야된다.

 

인터넷에서 "adb 설치" 또는 안드로이드 adb 사용법" 등으로 검색해서, 먼저 설치를 한다.

(아래 링크들 참고해서 설치하면됨)

https://fpkm.tistory.com/403

https://labs.brandi.co.kr/2018/08/10/kimcy.html

 

핸드폰과 PC가 연결이 되고, adb 명령어로 연결이 되었는지 확인해야 된다.

 

가끔 adb 연결이 안되는 경우가 있어서...PC를 바꿔서 연결하니 되었다.

아래 사진같이 신뢰합니다라는 알림창이 떠야지 제대로 연결되더라..

그러면 

> adb devices

명령어로 장치 연결 되었는지 확인하고, 연결이 되었다면 설정을 바꿔줘야한다.

 

 

아래 명령어를 치면 된다.

> adb shell cmd device_config put privacy camera_mic_icons_enabled false default
마이크 카메라 사용시 아이콘을 안보이게 하는거다.

원래대로 되돌리고 싶을때(초록 아이콘 보이게)

> adb shell cmd device_config put privacy camera_mic_icons_enabled true default

false를 true로 바꿔주면 된다.

 

참고(원글)> 

https://forum.xda-developers.com/t/how-do-deactivate-the-green-sensor-indicator-microphone-and-camera.4388359/

 

 

 

진짜 또한번 느낀거지만...항상 업데이트를 하고 좋았던적이 없는거 같다..ㅠㅠㅠ

 

--------------------------------------------------------------------------------------------------

아....이 설정은 하루밖에 안간다...

하루지나면, 또 해줘야한다..ㅠㅠㅠㅠ

구글 정책때문에 리셋되는거 같은데...

계속 유지할수있는 방법은 찾아봐야겠다.

Posted by Tyson
2021. 12. 29. 16:58

엥귤러에서  nestjs를 사용중이고, 오라클DB를 연결해서 몽고DB로 마이그레이션을 할려는데...

 

node 에서 연결하는거는 많이 있는데, nestjs는 별로 없어서....ㅠㅠ

 

먼저 oracledb 를 설치를 해야한다.

프로젝트 콘솔에서 아래를 실행해서 설치한다.

$ npm install oracledb

 

 설치하고 안되면, 오라클 클라인언트도 설치해야한다.

https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html

여기에서 zip 또는 DMG(맥인 경우)를 받아서 압축을 풀고,

  /opt 폴더내에, oracle폴더를 만들고, 거기에 압축폴더안의 파일들을 넣어준다.

/opt/oracle 

그리고, usr/local/lib 에 링크를 걸어줘야한다.

$ ln -s /opt/oracle /usr/local/lib

위 명령어로 링크를 걸어줌. 

압축폴더안에 ojbdc8.jar 파일이 있으면 된다.

 

그리고, 이제 소스코드에서 oracledb를 import 시킨다.

import * as oracledb from 'oracledb';

console.log('start connectting ');

async function run(){
    const connection = await oracledb.getConnection({
        user: 'db유저',
        password: 'db암호',
        connectionString : 'IP주소/SID'
    });
    const query = "SELECT CURRENT_TIMESTAMP FROM dual";
    const results = await connection.execute(query);
    
    console.log('result',results);
    console.log('END');

}
run();

 

connectionString에 DB아이피주소/ sid 등을 적어주면 된다. 

예 ) 192.168.0.111/orcl

혹시 포트번호가 1521이 아닐경우에는 

192.168.0.111:1522/orcl  이렇게 해주면 된다.

DB 통신이랑 Promise 로 해줘야되서.... await async 로 해줬다.

 

 

 

오라클에서 불러온 DB 정보를 객체를 만들어서 몽고디비에 넣는거는 추후 포스팅하겠다.

 

 

 

참고블로그 : 

https://m.blog.naver.com/scw0531/221169287236

 

Posted by Tyson
2021. 12. 20. 12:02

이렇게 생긴 에그 같은 경우, 

와이파이 이름이랑 비번 바꾸고 싶을때,

 

먼저, 

 

뒤에 써있는 SSID, Key 값이 와이파이 이름 비밀번호이다.

 

이걸로 와이파이 접속하고,

 

브라우저 주소창에, 

192.168.1.1

를 입력해서 접속

 

아이디 패스워드 부분에, 

아이디 : user

비밀번호 : !InfoEgg숫자

느낌표넣고, I 랑 E 는 대문자, 숫자는 Key값 뒤에 있는 숫자5자리(SN뒤에서부터 5자리이다)

 

이렇게 접속하면, 설정화면 뜨고, 그곳에서 와이파이이름이랑 비밀번호 바꾸면 된다.

 

 

추가설명

Posted by Tyson
2021. 12. 2. 21:41

탭구분으로 되어 있는 txt 파일의 데이터를 로더로 넣다가, 

마지막열에 값이 없는 것들이 아래처럼 에러가 나길래...

레코드 201467: 기각됨 - 테이블 "DB"."TABLE", 열 LAST_FIELD에 오류
논리 레코드가 종료하기 전에 열을 찾지 못했습니다 (TRAILING NULLCOLS 사용)

 

분명히 탭 순서는 다 들어갔고, 마지막열에 값이 없는것들에서만 위에처럼 에러가 난다.

 

ctl 파일내용 

LOAD DATA
CHARACTERSET  UTF8
INFILE 'log_202004.txt' 
BADFILE 'log_202004.bad'
DISCARDFILE 'log_202004.dsc'
APPEND
INTO TABLE "DB_USER_NAME"."TABLE_NAME"
FIELDS TERMINATED BY X'9'
(FIELD1_NM,
FIELD2_NM,
FIELD3_NM char(4000),
FIELD4_NM char(4000),
FIELD5_NM char(4000),
FIELD6_NM)

이렇게 입력중이였다.

 

마지막 열이 null이라도 그냥 넘어가게 하려면, 

아래처럼, 필드값 앞에

trailing nullcols 를 써주면 된다.

LOAD DATA
CHARACTERSET  UTF8
INFILE 'log_202004.txt' 
BADFILE 'log_202004.bad'
DISCARDFILE 'log_202004.dsc'
APPEND
INTO TABLE "DB_USER_NAME"."TABLE_NAME"
FIELDS TERMINATED BY X'9'
trailing nullcols
(FIELD1_NM,
FIELD2_NM,
FIELD3_NM char(4000),
FIELD4_NM char(4000),
FIELD5_NM char(4000),
FIELD6_NM)

 

 

참고 블로그 ( 로더 사용시 각 케이스별 옵션 사용법 있음)

: https://blog.naver.com/PostView.naver?blogId=polong77&logNo=140012601270&parentCategoryNo=&categoryNo=21&viewDate=&isShowPopularPosts=true&from=search 

 

Posted by Tyson
2021. 12. 1. 15:34

axios post 사용해서, 데이터 받는 부분이 있는데, 

 

다운로드 클릭후, 로딩Modal 띄우고, axios post로 데이터 받고, 닫는 프로세스인데,

 

이상하게...자꾸 로딩창이 안 없어지길래..... 계속 하는데...

 

이게, jQuery 모달 라이브러리로 모달 show 하는 시간보다, 데이터 받는 속도가 빨라서,

 

모달 뜨기전에, 벌써 다운로드까지 끝나버리는거다...

 

그래서 중간에, sleep 도 넣었는데, 안되고...

 

async await 도 썼는데.... 안되더라....ㅠㅠ

 

ajax에 있는 beforeSend 같은 axois용 인터럽트까지 썼는데..안됨.ㅠ

 

모달뜨는 시간까지 로그 찍어보니...

 

200ms 이상되는 데이터는 떴다가 사라지는데,

 

그 이하는 벌써 창 닫는거 

$('#process-modal').modal("hide");

까지 끝났는데....

이후에 show 가 먹히는거다.

 

sleep을 계속 넣어도 이게 따로 노니까... 안되고...

 

 

결국 다운로드 부분을 function으로 만들고, 

setTimeout 안에 넣어서, 200ms후에 다운로드 실행되게 돌렸다.

setTimeout(async function(){
    await excelDownload(month);
}, 200);

 

아....진짜...자바스크립트...비동기/동기.....ㅠㅠ 

엥귤러 할때도 비슷한게 있었는데....ㅠ

 

 

Posted by Tyson
2021. 11. 11. 17:46

갑자기 회계 프로그램들이 안된다고 하더라...

 

그래서, 회계전용 서버 피씨를 확인해 봤더니, 많은 에러들이 떠 있고,

 

DLL 파일을 찾을 수 없다고 써 있더라..

아래사진처럼...

바탕화면엔 기존에 있던 프로그램들이 다 사라졌더라...ㅠㅠ

 

헐.....이게 머지???

이러고선, 내 컴퓨터를 열어서, 폴더를 봤더니....

 

파일들이 이상하다...

 

1KB 파일들이 많다.... 그리고.,... mallox라는 확장자로 되어있다...

이게 머지??????

 

첨보는 확장자들이다....

 

이때까지만 해도 앞으로 올 후폭풍을 예상하지 못했다......

 

바보같이... 인터넷에서 "mallox 확장자"를 검색하고 있었으니...

 

여러폴더들을 확인하다가.....

 

회계프로그램 백업자료 들어가는 폴더를 확인했는데...

아래그림처럼 BAK 파일들 확장자가 다 mallox로 바뀌어 있다.

 

 

이때부터 먼가 심상치 않음을 느끼고....ㅠㅠ

 

일단 마음을 진정하고 바람쐬며 담배를 한대 피고 왔다..

 

그리고, 다른폴더들을 보니, 다 그렇더라..

 

그리고, 아까 C 드라이브에서는 놓쳤던,

RECOVERY_INFORMATION.txt 파일 또는 HOW TO RECOVER!!.txt 파일이 보이더라...

아.... 열어도 될까? 고민은 하다가.... 불구덩이에 뛰어드는 심정으로 판도라의 상자를 열었다.

 

하..... 참...여기저기 모든 폴더에 열심히도 txt파일을 뿌려놓았드라....

군대있을때 받았던 편지도 못볼까봐 같은 내용을 이렇게까지 열심히 복사해 놓지 않을텐데..

혹시나 바보같은 물주들이 못볼까봐 열심히도 써 놓았다. ㅎㅎㅎㅎ

 

위 내용을 그대로 해석하자면, 

 

너의 파일들은 암호화되었다!!

복호화(암호푸는거)를 하려면, 아래 설명을 따라라.

복구하려면 복구툴이 필요하다.

복구툴을 얻기위해 너가 해야될것

1. Personal ID를 포함해서, 메일을 보내라.

2. 우리는 몇개의 파일을 무료로 테스트 해줄것이다. (가치없는 파일들), 그리고 그다음에 우리는 전체파일의 가격을 알려줄것이다.

3. 복구툴에 대한 지불방법을 알려줄거고, 결제가 되면, 넌 복구툴을 받을거다.

4. 우리는 복구툴을 가지고 있다는 증거로 몇개 파일을 복구해 줄 수 있다.


연락처  이메일 주소,

내 개인 ID 번호

 

 

이렇게 있는거다..

하......진짜 읽다가 속에서 몇십년동안 쌓아놓은 욕이 나오는데.... 차마 옆에 있는 회사 직원들이 들을까봐 

말도 못하고,,,속으로 삭히느라... 죽는줄 알았다.

 

 

랜섬웨어 어원대로...인질로 잡아서... 돈을 요구한다. 그리고, 자기들이 증거로 몇개만 해주겠다...

아... 이런 불공정거래도 없다...ㅠㅠ

난 거래할게 없으니까... 그냥 따라야하는....

 

어쨌든, 바로 인터넷 선부터 뽑았다.

 

혹시나 네.트.워,크 타고 다른피.씨도 감염될지 모르고...  공.우.폴떠 도 있으니...

 

그리고 인터넷을 겁나 뒤졌음...... 근데.... mallox로 검색해도 자료도 거의 없고...

 

올라온 글들보니.. 대부분 최근 몇일 사이에 올라온 글들이다.

 

최신 랜섬웨어다. 하.....ㅠㅠ

 

외국사이트에서 받으라고 하는 프로그램들이 있더라...

 

대부분 광고 필이지만.... 지푸라기라도 잡아야되므로... 안될지 알면서 다운을 받기 시작했다.

 

그리고, 버리는 usb로 복사해서 랜섬웨어 걸린피씨로 복사해서 설치했는데..

 

하나 설치하고, 재부팅하면, 바탕화면에서 아이콘이 없어진다.

 

시작버튼은 안눌러지고.

 

그래, 그러면 재부팅하지말고, 프로그램 돌려보자, 하고, 실행하니...

 

인터넷 연결이 필요하단다....

 

랜섬웨어 걸린피씨를 내부 공유기에 꼽기도 불안하고...결국 핫스팟으로 연결했다.

 

항상 만약을 대비하는 난 에그와 무선랜카드가 준비되어 있지... 그걸로 어찌어찌 연결하고,

 

랜섬웨어 잡아준다는 프로그램들 업데이트 하고 검색했다.

 

캡쳐는 못했지만, 무섭게 빨간글씨로 멀 찾았다고 엄청 뜬다.

 

그리고 복구를 누르니...결제하란다.....ㅠㅠ

 

시중에 도는 특히 외국 백신, 랜섬웨어 잡아준다는 프로그램들은 다 결제해야한다.

 

그래서 다시 빨간 목록들을 봤다.

 

그냥 쓸데없는 쿠키 목록들같은거고, 별거 없다.

결론은, 램섬웨어는 하나도 못 잡음.ㅠㅠ

 

최악...................!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

노모어랜섬웨어.org 에서는 파일을 복호화 해준다고 해서 들어가서 복호화 가능 랜섬웨어를 확인했더니..

https://www.nomoreransom.org/ko/index.html

 

 

mallox는 없다. 

진짜 최신이라 없나보다.

ㅠㅠㅠㅠㅠ

혹시 다른 랜섬웨어 걸리신 분들은 검색해 보시길......

복구툴이 있으면, 아래처럼 다운로드 링크가 있다.

어디 외국 사이트를 보니, 윈도우 복구모드로 들어가서, 백업된거 있으면, 날짜 되돌리기를 하라는 글을 봤다.

 

그래서 어찌어찌해서, 복구모드로 부팅을 해서, 봤는데, 걸리기 전날 백업된게 있더라, 

 

그래서 그날로 복구 눌러서 부팅을 했는데~ 오호호~ 바탕화면이 이전처럼 돌아온거다~

 

그래서 다행이다 하고, 백업파일을 봤는데... mallox 파일들은 안바뀌어 있었다.

 

아마, 윈도우 못쓰게 파일명 바꿔놓은 윈도우 관련 파일들만 복구된거 같았다.

 

그리고 좀있다가 갑자기 블루 스크린이 떴다.

 

그리고, 무한 부팅......... 

하....다행히, 하드빼서, 다른 피씨에 연결해서 보니, 파일들은 그대로 있었다.

 

결국 실패ㅠㅠ  하드윈도우 망가진거 같고.....

 

 

 

이제는 내가 할 수 있는건 다한거 같다.

마지막으로 해커랑 연락하던지,  복구 업체를 알아보는거다.

 

진짜 복구업체 3-4군데는 알아본거 같다.

 

근데, 결론은 3중 4중으로 암호화된 파일이라, 해커한테 키값을 받지않는 이상, 복호화는 불가능하다이다.

 

대부분 업체들은 해커랑 소통을 대신해주고, 수수료를 받는다고 한다.

 

근데, 해커가 돈만 먹고 먹튀하는 경우도 있는데.. 대부분 업체들은 이렇게 될 경우는 환불이 안된다고 한다.

 

어떤 업체는 후불로 복구가 안되면 안받으시겠다고 하는 업체도 있긴했다.

대신 될 경우는 다른 업체보다 비용이 비싸긴했다.

 

어쨌든 여기까지 알아보고....

우리가 내린 결론은 그냥 새로 PC 세팅하고, 다시 설치하고, 다시 입력하자였다.

 

그나마 1년치만 했으면 됬으니까.......  라고 생각했다.

 

프로그램 재설치하고 회계팀에서 입력을 하려고 보니.... 머가 다 새로 생성되서 꼬여있다더라...

 

아......회계쪽은 잘 모르니..생략~ 어쨌든, 사람이 할 수 있는 정리가 아니라는거다...

 

그래서.... 결국 복구업체를 이용해보자였다.

 

해커랑 직접연락해도 비트코인은 비용처리가 안되니..... 결국 업체를 통해서 작업해야된다가 결론이다.

 

근데, 업체랑 작업전에, 해커랑 이야기를 해보고, 비용이 얼마가 되는지 확인해 보고 싶어서,

 

해커 메일주소를 다시 확인해 보았다.

 

 

오버일수도 있는데, 해커랑 소통하는데, 내 개인메일이나, 회사메일로 소통하고 싶지 않았다.

 

그래서, 나도 해커랑 같은 메일 서비스 업체를 써야겠다 생각이 들어서, 

 

확인해보니, 해커가 사용하는 메일 서비스가, cock.li  , tutanota.com 인데, 

둘다 보안이 강화된 메일업체인거 같더라..

cock.li 좀 이상하고, tutanota.com을 가입하려고 몇번을 시도헀는데,

 

ip가 자주 시도되서, 내 Ip로는 계정을 만들수 없다는 창이 뜨더라..

 

그래서, 다른 ip로 접속해서 다시 생성하려는데, 똑같은 메세지가 뜨더라..

 

아무래도 한국쪽 또는 아시아쪽 ip는 다 막아놓은거 같더라.

 

그래서 tutanota.com 이랑 양대 산맥이라는 protonMail로 계정을 새로 팠다.

 

그리고 이메일 주소는 플리즈세이브미말록스 이런 이름으로 만들었다.

 

아마 불쌍해서라도 깍아줄까하고~ ㅎㅎ

 

이메일은 몇번 왔다갔다 했고..... 이메일을 다 캡쳐하면, 

 

나중에 해커가 검색해서 들어와서, 번역기 돌려서 내 블로그 보고, 혹시나 나 괴롭힐까봐~

(내 Personal ID를 알고 있으니...) 다는 못적겠고, 

 

첫 메일은 답장은 다 똑같이 보내는거 같다.

내용은

복구비용은 0.025비트코인이고,

테스트로 가치없는 파일(엑셀,워드,텍스트파일, 그림파일 등등등)을 보내면 테스트 해주겠다 는개소리다.

 

그리고, 밑에 있는 글씨는 메일보낼때 밑에 붙는  Tutanota에서 붙이는건데, 
"안전하고 광고 없는 메일인, Tutanota에서 보냈습니다" 같은 문구다.

이게 러시아 언어인거로 봐서는, 기본 언어 설정을 러시아어로 해놓은 해커일거다...

러시아인이 아닌수도 있다~  러시아인인척하는 해커일수도 있으니....

 

어쨌든, 티스토리에서 몇일전에 같은 mallox에 걸린분이 올린글을 봤다.

이분은 해커가 0.03 비트코인을 보내라고 했다더라..

 

내가 왜 싼지는 모르겠지만....ㅠㅠ

 

사실, 테스트 파일을 보내면, 당연히 해주겠지.. 굳이 그렇게까지는 할 필요가 없어서..

 

답장을 보낼때,

테스트파일은 필요없고, 난 ㄴㅓ를 믿는ㄷㅏ

근데, 이게 어떻게 되는거냐, 내가 비트고인보내면, 어떻게 고쳐줄거냐?

그리고, 비트코인 주소나 알려주라, 하고 보냈다.

 

 

그리고, 바로 5분안에 답장이 온거 같다.

진짜 돈벌려고 열심히 바로바로 답장하드라~

 

비트코인 주소를 보내줬고, 돈을 보내면, 다운로드 링크를 알려준다고 하더라.

 

하.......이제 여기서 부터 고민이됬다.

 

진짜 보내봐?

어떤 사람은 애들이 돈만 받고 안고쳐준다고 소문나면, 사람들이 돈을 안보낼거니까... 고쳐는 줄거같다고 하고..

근데, 고쳐진다고 해도...그게 참.... 불안하고...

 

그러다...다행히 저번달 백업파일을 하나 찾아서, 대부분 복구하기는 해서...

우리는 여기서 정리하기로 했다.

 

 

 

근데, 여기서 갑자기 의문이 든게...비트코인은 은행처럼 내 이름을 남길수없는데...

애들은 어떻게 내가 보낸건줄 알까?

 

그래서 사람 구분하려고 보내는 금액을 다르게 이야기 했을까?

갑자기 생각이 여기까지 미치자..... 해커랑 놀고싶어졌다~ㅎㅎㅎ

 

그래서, 돈 보냈다고 빨리 링크 보내달라고 메일을 보냈다.

다른 메일은 바로바로 답장보내면서, 이 메일은  답장이, 좀 늦게 왔다.

 

니 페이먼트를 볼수없다.  라고 한줄 메일이 좀 늦게 왔다.

 

아마 내가 돈 보냈다니까... 확인하고 보낸거 같다.

 

내가 보기에는, 애들이 계좌를 엄청 많이 만들어 놓고, 

엑셀에 계좌번호, 암호, 적어놓고, ID 값을 보내면, 계좌랑, 금액이랑 적어서 관리하는게 아닐까 싶다.

아마 그렇게 하고, 그 계좌들 돈을 다른데로 합칠듯...

 

그 계좌번호 관리하는 엑셀파일도 랜섬웨어나 걸려버려라....

 

 

이제 이 긴글의 끝을 내려한다...ㅠㅠ

지금까지 읽으셨다면 감사하다... 진짜 다들 지푸라기라도 잡는 심정으로 들어왔을거다.

내가 보기엔 초기에는 해커가 돈을 보내면 풀어줄거 같긴하다.

업체들 이야기 들어보면, 성공률이 좋다더라.

하지만, 복불복으로 안될수도 있다는거...

 

사실, 내가 보기에는 애들이, 금액을 산정하는게, PC의 자료양인거 같다. 

우리는 이 피씨 도입한게 1년이 안되었으니까... 

양이 적은거 같고... 큰 업체일수록 돈을 많이 요구하는거 같다.

 

그거는 ID값에 따라, 대략적으로 PC에 락건린 파일의 양을 따로 관리하는거 같다.

 

그렇지 않는 이상, 금액을 산정하기 힘들거 같고..

 

한명이 아니고, 여러명일거 같은데.. 같이 관리하기 위해서는 무언가 자기들만의 산정하는 룰이 있을거다.

 

이 램섬웨어를 뿌리고 해커들이 지금 모금하는 시기이니까~ 당장은 잘 풀어줄거 같다.

 

그리고, ID값마다 프로그램에 암호화 키캆 다르게 만들어 줄거다. 

안그럼, 한번 산사람이 프로그램 복사해서 팔테니까..

 

 

 

사실, 역으로 왜 걸렸을까를 생각해 봐야하는데...

우리는 걸리기 전날 회계프로그램 회사에서 원격지원을 받았다.

 

그리고, 다른블로그에서 알게된분도 회계PC고, 전날 원격지원을 받았다고 했다.

 

내가 보기에는 회계 프로그램 세팅할때, 열어놓는 포트가 있고, 공유기에도 포트포워딩을 해놓는다.

 

아마 그 포트를 타고 들어오지 않았을까 싶다.

아니면, 원격지원 받을때 사용하는 포트를 타고 들어왔을수도 있고...

 

진짜... 나한테는 생기지 않을일이 생기니까....너무 힘들더라.

결론은 백업이다.

 

그래서 외장하드로 분리관리하면서 백업을 매번 받아놓아야겠다...

 

 

Posted by Tyson