Collage

n. A piece of art made by sticking various different materials, aka PHENOMENA Magazine
부모 찬스로 '21억 아파트' 매수…국토부, 위법 의심거래 397건 적발 서울과 수도권 아파트에 대한 수요가 늘면서 불법 거래가 속출하고 있습니다. 7주간만 조사했는데도 집값 담합이나 편법 증여 같은 위법 의심 거래가 400건 가까이 됐습니다. 고희동 기자입니다. [리포트] 서울 서초구의 https://n.news.naver.com/article/448/0000480877 ...서울 용산 아파트를 21억 원에 매수하면서 본인 자금은 한푼도 들이지 않은 사례도 있었습니다. 이 매수자는 어머니에게 빌린 14억 원과 증여 받은 5억 5천만 원, 주택담보대출 3억 5천만 원으로 모든 비용을 조달한 것으로 알려져, 편법 증여가 의심되는 상황입니다. ...   애시당초 증여세가 잘못된거란 생각은 안하냐? 존재해서는 안된다고. 친구한테 14억 빌려주고 못받았는데 내가 그냥 친구사정이 딱해서 안받기로 했으면.. 그걸로 끝이다. 내가 소송걸기 전까지는 전혀 문제될게 없다. 친구한테 돈빌려주는건 개인 사유재산이니 자기마음이고 내자식한테 내돈 빌려주는건 불법이냐?? 이미 돈을 벌때 소득세를 내고 번돈이잖아. 재산이 있으면 재산세도 내고 건보료도 남들보다 많이 내고 모은 재산이잖아. 충분히 번만큼 사회에 환원한거잖아. 그돈을 내자식에게 주든 유니세프에주든.. 그건 내마음 아니냐?? 그리고 위 경우 일부 증여받고 나머지는 대출인데 차입금에 대해 이자 지급하면 되는것 아니냐. 하여간에 이나라는 주택이슈로 세금은 좆나 더럽게 쳐 뜯어가면서 정작 문재인때 과도하게 뽑아놓은 공무원과 숱한 정부산하기관 기생충 시민단체 거지 지자체 지원금으로 펑펑 써제낌. 여기서 발악하는 좌파 새끼들에게 물어보자. 지금껏 소득세부터 각종보험료, 부가세 등등 다내고 축적한 재산에서 또 세금 더럽게 걷겠다는거 절세좀 시도한 이 기사속 주인공 vs 이 기사속 주인공이 내는 세금으로 온갖 혜택은 다 쳐. 받아오면서 평생 불평불만만 가득하고 니들 돈 뺏어서 다시 25만원 주겠다는 민주당만 바라보고 있는 낙오자 중 누가 이 사회와 대한민국에 도움되는 인생이냐? 이미 세금 다떼고 번돈 자식주려고 하니 증여세로 또 더럽게 떼어가니 이게 바로 이중과세고 악법이다. 개웃긴게 이중과세는 위헌인데 미친 새끼들이 "우리는 당당히 이중과세입니다" 이지랄 하면서 과세함 증여세는 무조건 폐지해야한다.
John Doe · Oct. 3, 2024, 6:18 p.m.
개한민국
pixabay   '돌싱'(돌아온 싱글)남녀가 재혼 상대를 만나는 자리에서 상대방의 외모 중 가장 신경 쓰이는 부분으로 '주름'과 '비만'을 꼽았다. 24일 결혼정보회사 온리유와 비에나래에 따르면 전국 이혼남녀 516명(남녀 각각 258명)을 상대로 지난 16일부터 21일까지 설문 조사한 결과, '재혼 상대를 고르면서 외모와 관련해 어떤 점에서 자주 실망하냐'는 질문에 남성 30.2%가 '주름'을, 여성 33.3%가 '비만'을 가장 많이 선택했다. 이어 남성은 '성형 후유증'(25.7%), '비만'(21.3%), '탈모·백발'(14.3%) 순으로 나타났다. 여성의 경우 2위가 '탈모·백발'(25.2%)이었으며, '왜소함'(21.7%)과 '주름'(16.7%)이 그 뒤를 이었다.   -----   주름이나 탈모는 나이 들면 어쩔 수 없지. 근데 비만?ㅋㅋ 매우 게을러 터져갖고 입 안에 꾸역꾸역 쳐 넣는 것만 좋아하는 뚱돼지들을 누가 만남?ㅋㅋ 쿵쾅이 언냐들은 걍 집구석에 쳐박혀 있거라 기어나와서 기름이나 흘리면서 싸돌아다니지 말고; 비만 쿵쾅이들은 결혼할 생각 따위 걍 접으라고 쫌;;;   "탈모보다 더 싫다"…돌싱남녀의 재혼상대 외모 비호감 1위는 '돌싱'(돌아온 싱글)남녀가 재혼 상대를 만나는 자리에서 상대방의 외모 중 가장 신경 쓰이는 부분으로 '주름'과 '비만'을 꼽았다. 24일 결혼정보회사 온리유와 비에나래에 따르면 전국 이혼남녀 516명(남녀 각각 2 https://n.news.naver.com/article/025/0003388171
John Doe · Sept. 24, 2024, 8:05 a.m.
package com.phenomena.xxx.test.mail; import jakarta.mail.*; import jakarta.mail.internet.*; import java.util.*; public class MailSendTest { private static final String SMTP_HOST_NAME = "smtp.test.com"; //or simply "localhost" private static final String SMTP_AUTH_USER = "test"; // id private static final String SMTP_AUTH_PWD = "1234"; // pw private static final String emailMsgTxt = "Hell World"; private static final String emailSubjectTxt = "Title"; private static final String emailFromAddress = "test@phenomena.com"; // Add List of Email address to who email needs to be sent to private static final String[] emailList = {"contact@me.com"}; public static void main(String args[]) throws AuthenticationFailedException, MessagingException { MailSendTest smtpMailSender = new MailSendTest(); smtpMailSender.postMail( emailList, emailSubjectTxt, emailMsgTxt, emailFromAddress); System.out.println("Sucessfully Sent mail to All Users"); } public void postMail( String recipients[], String subject, String message , String from) throws MessagingException, AuthenticationFailedException { boolean debug = false; // Set the host smtp address Properties props = new Properties(); props.put("mail.smtp.host", SMTP_HOST_NAME); props.put("mail.smtp.port", "666"); //TLS Port props.put("mail.smtp.auth", "true"); //enable authentication props.put("mail.smtp.starttls.enable", "true"); //enable STARTTLS props.put("mail.debug", "true"); props.put("mail.smtp.ssl.enable", "true"); //Important Authenticator auth = new SMTPAuthenticator(); Session session = Session.getDefaultInstance(props, auth); session.setDebug(debug); // create a message Message msg = new MimeMessage(session); // set the from and to address InternetAddress addressFrom = new InternetAddress(from); msg.setFrom(addressFrom); InternetAddress[] addressTo = new InternetAddress[recipients.length]; for (int i = 0; i < recipients.length; i++) { addressTo[i] = new InternetAddress(recipients[i]); } msg.setRecipients(Message.RecipientType.TO, addressTo); // Setting the Subject and Content Type msg.setSubject(subject); msg.setContent(message, "text/plain"); Transport.send(msg); } private class SMTPAuthenticator extends jakarta.mail.Authenticator { public PasswordAuthentication getPasswordAuthentication() { String username = SMTP_AUTH_USER; String password = SMTP_AUTH_PWD; return new PasswordAuthentication(username, password); } } }   Ref. Got bad greeting from SMTP host: smtp.yandex.ru, port: 465, response: [EOF]] with root cause Yandex I use brand new spring boot project with next Maven dependency &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-star... https://stackoverflow.com/questions/63236701/got-bad-greeting-from-smtp-host-smtp-yandex-ru-port-465-response-eof-wit
John Doe · Aug. 22, 2024, 5:27 p.m.
Jakarta mail
Q The :) event at 11pm is correctly appearing on the correct date (8/1), but the :( event that starts 1 minute later appears to span across two days (8/1 - 8/2). See screenshot below.   A If you don't specify the end time, the default duration is 1 hour which makes it run into the next day: defaultTimedEventDuration - Docs | FullCalendar FullCalendar Demos Docs Support Getting Help Reporting Bugs Requesting Features Contributing Pricing Jul 12 — v6.1.15 Event Model Event Parsing Event Object Recurring Events RRule Plugin Event Data Parsing eventDataTransform defaultAllDay defaultAllDayEve https://fullcalendar.io/docs/defaultTimedEventDuration   ***** If the start time and the end time are the same, then the issue will also arise. Solutions: let calendar = new FullCalendar.Calendar(calendarEl, { initialView: 'dayGridMonth', //timeZone: 'Asia/Seoul', eventTimeFormat: { hour: '2-digit', minute: '2-digit', hourCycle: 'h24' }, defaultTimedEventDuration: '00:00', events: [ { id: 'a', title: 'my event', "start": "2024-07-09T23:02:21", "end": "2024-07-09T23:02:21", //"start": "2024-07-09T23:02:20+0900", //"end": "2024-07-09T23:02:21+0900", } ] });   OR   let calendar = new FullCalendar.Calendar(calendarEl, { initialView: 'dayGridMonth', //timeZone: 'Asia/Seoul', eventTimeFormat: { hour: '2-digit', minute: '2-digit', hourCycle: 'h24' }, //defaultTimedEventDuration: '00:00', events: [ { id: 'a', title: 'my event', //"start": "2024-07-09T23:02:21", //"end": "2024-07-09T23:02:21", "start": "2024-07-09T23:02:20+0900", "end": "2024-07-09T23:02:21+0900", } ] });   Ref. Events after 11pm appear to span two days · Issue #5008 · fullcalendar/fullcalendar See: https://jsfiddle.net/412qh7zx/5/ The :) event at 11pm is correctly appearing on the correct date (8/1), but the :( event that starts 1 minute later appears to span across two days (8/1 - 8/2).... https://github.com/fullcalendar/fullcalendar/issues/5008
John Doe · July 30, 2024, 8:36 p.m.
fullcalendar
Error File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in apply_converters 779. value = converter(value, expression, self.connection, self.query.context) File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/functions/datetime.py" in convert_value 181. "Database returned an invalid datetime value. " ValueError: Database returned an invalid datetime value. Are time zone definitions for your database installed?   Solution 1. Linux contact@me:~$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql contact@me:~$ mysql -u root -p -e "flush tables;" mysql 2. Windows 1) Download posix timezone sql from https://dev.mysql.com/downloads/timezones.html 2) Do not move anything, just open this sql file in MySQL Workbench and add USE mysql; to the first line. 3) Run this file and that's it   * How to run SQL script in MySQL? 1. If you’re at the MySQL command line mysql> you have to declare the SQL file as source. mysql> source \home\user\Desktop\test.sql; 2. CMD   Ref. Django Mysql Database returned an invalid datetime value I have a Django app. I am using MySql server running in docker container as a database. After just moved to a custom User model. Now i am getting those errors: Environment: Request Method: GET Req... https://stackoverflow.com/questions/40792628/django-mysql-database-returned-an-invalid-datetime-value Database returned an invalid datetime value. Are time zone definitions for your database installed? i tried to TruncDay in django to turn date into day format , i use mysql version 8.0 with windows 10 this my settings.py TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True date = m... https://stackoverflow.com/questions/62581502/database-returned-an-invalid-datetime-value-are-time-zone-definitions-for-your [DB] MySQL SQL파일 실행 및 백업 ■ SQL파일 실행 1. 프롬프트(cmd) 환경 예시) mysql -u(유저명) -p < sql파일명.sql mysql -uroot -p < testFile.sql 1) testFile.sql 내용 확인 2) 프롬프트(cmd)에서 실행 2. MySQL 접속 환경 예시) source sql파일명.sql source C:\MySQL\testFile.sql ■ SQL파일로 DataBase 백업 ※ 프롬프트(cmd) 환경 예시) mysqldump -u(유저명) https://hyunmin1906.tistory.com/103   * MariaDB에서 root 암호 인증 방식이 먹히지 않는 이유(feat. unix_socket) [B급 프로그래머] MariaDB에서 root 암호 인증 방식이 먹히지 않는 이유(feat. unix_socket) "컴퓨터와 책에 대한 블로그입니다." https://jhrogue.blogspot.com/2020/02/b-mariadb-root-feat-unixsocket.html MariaDB; 인증(Authentication) 문제. – 바깥 세상으로.. (As a kite by then) Skip to content 바깥 세상으로.. (As a kite by then) Search for: × Menu 첫머리 이곳은? 以前 記錄 記憶 (egloos) 주저리주저리 Prince & New Power Generation – Diamonds & Pearls 갑자기, Prince. Tears for Fears: The Tipping Point Pat Metheny: Road to the Sun 김태은/오경희/정민아 : 산조的 감각 Pat Meth https://www.nemonein.xyz/2019/07/2254/
John Doe · June 10, 2024, 7:22 p.m.
django SQL
Neither of above helped in my case - IP connection to http works as expected but https was redirecting to alphabetically first https virtual site. What was working witn nginx below 1.19.4 was to add null certificate to block: server { listen 80 default_server; listen [::]:80 default_server; listen 443 default_server; listen [::]:443 default_server; ssl_certificate /etc/ssl/null.crt; ssl_certificate_key /etc/ssl/null.key; server_name ""; return 444; }   Certificte can be generated with empty CN so you need no worry about fill it. sudo openssl req -x509 -newkey rsa:2048 -days 10000 -nodes -subj "/C=US/ST=Florida/L=XXXXX/O=Foo Inc./OU=IT/CN=X" -keyout null.key -out null.crt   Then http/https returns 444 (ERR_EMPTY_RESPONSE), in different configurations https returns ERR_HTTP2_PROTOCOL_ERROR with your null certificate which is also fine to show there is nothing there. For nginx 1.19.4 it is simpler. It introduced ssl_reject_handshake on | off (http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_reject_handshake) you can replace certificates 'stuff' with: server { listen 80 default_server; listen [::]:80 default_server; listen 443 default_server; listen [::]:443 default_server; ssl_reject_handshake on; server_name ""; return 444; }   And now you get http 444 (ERR_EMPTY_RESPONSE) and for https ERR_SSL_UNRECOGNIZED_NAME_ALERT. No null certificates are needed.   Ref. how to disable direct access to a web site by ip address I have a website on a VPS. The issue I am having is that when I enter the IP of the server, it links to the website. Even when entering mail.domain.com, it does the same thing. How do I disable t... https://stackoverflow.com/questions/29104943/how-to-disable-direct-access-to-a-web-site-by-ip-address OpenSSL: A problem with Field Name abbreviations? I am trying to create a new private key and CSR file for a colleague with some provided details: C = US S = Florida L = XXXXX O ... https://stackoverflow.com/questions/55541601/openssl-a-problem-with-field-name-abbreviations
John Doe · Nov. 28, 2023, 9:14 p.m.
nginx ssl
자동차 관리 방법에 대한 낡았거나 잘못된 정보들이 차고 넘친다. 이를 너무 굳게 믿다보니 자신과 다른 정보는 좀체 받아들이지 못하기도 한다.  많은 독자들이 이 글과 다른 생각을 갖고 있을테지만, 각 제조사 관계자와 자동차 취급설명서에는 이렇게 적혀 있다고 알려야겠다. 아, 벌써부터 정비업계 관계자들이 남길 악플들이 눈에 선하다. 뭐라고 말하든 상관없다. 선량한 소비자들이 자신의 권리를 주장할 수 있게 되길 바라기 때문이다. 인터넷에 떠도는 근거없는 설에 귀기울이지 말고, 제조사가 만든 설명서를 보자.   엔진 오일의 교환주기는 적어도 1만5000킬로미터다. 신차도 마찬가지다. 카센터에서는 흔히 엔진오일 교환주기를 5000km라고 얘기하는 경우가 있다. 신차는 더 빨리 갈아줘야 한다는 말도 나온다. 하지만 현대자동차가 자동차를 살때 넣어주는 '제품설명서'에 따르면 신차건 아니건 관계 없이 엔진오일은 1만5000km, 혹은 1년마다 갈면 된다. 1년에 1만5000km를 못타는 운전자라면 차를 구입한 날을 기념일 삼아 매년 한번씩 갈아주면 되겠다.  설명서에 따르면 혹독한 가혹조건에서도 교환주기는 7500km로 적혀 있다. 여기서 가혹조건은 경찰차, 택시, 상용차, 견인차 같은 특별한 차들의 주행조건에 준하는 경우를 말한다. 서울을 달리는 차라도 주말에도 이용하고 지방에도 가는 보통 조건이라면 일반 조건으로 교환하면 된다.   ▲ 합성엔진오일의 교환주기를 늘려잡는 카센터도 있지만, 제조사는 이를 권장하지 않는다. 합성유는 수명보다는 특성이 좋을 뿐이다.   흔히 에어클리너도 한세트로 갈지만 사실 에어클리너는 4만킬로마다 갈면 된다. 엔진오일을 두번 갈고도 남는 거리다. 다만 에어클리너는 1만킬로마다 점검을 하도록 만들어진만큼 안쪽(엔진방향)에서 바깥쪽으로 고압으로 불어내는 방식으로 청소하면 된다. 카센터에 따라선 "제조사의 메뉴얼을 믿을 수 없다"는 경우도 있는데, 제조사는 엔진이 고장났을때 보증 수리를 해주는 입장인만큼 굉장히 보수적인 입장에서 메뉴얼을 만든다. 제발 이런건 좀 믿자.   브레이크액은 2년, 4만킬로마다 갈아야...엔진오일 두번갈때 마다 엔진 오일 교환이 자동차의 엔진건강을 위한거라면 브레이크액은 운전자와 승객의 육체 건강을 보전하기 위해 필수다. 제때 갈지 않으면 브레이크가 먹통이 돼 대형 사고가 나기 때문이다. 브레이크액 교환은 시간도 많이 들고 특별한 장비도 있어야 해서 작업자는 번거롭다. 바퀴마다 장비를 끼워 액을 빼줘야 하는데다 경우에 따라 공기빼기 작업까지 해줘야 하고, ABS 모듈레이터에서도 작업을 해야한다. 그럼에도 불구하고 이상하게 교환 비용이 싸게 책정돼 있어 카센터가 꺼리는 작업 중 하나다.  현대자동차 고객서비스센터 김정열 과장은 "많은 소비자들이 엔진오일은 자주 갈면서 안전에 직결되는 브레이크액은 거의 폐차 할때까지 교체를 안하는 경우도 많다"며 안타까워했다. 김과장은 "브레이크액은 밀봉돼 있지 않아 수분을 자꾸 흡수하기 때문에 오래 갈지 않으면 브레이크를 밟았을때 베이퍼록(브레이크액 내의 수분이 끓어올라 브레이크가 작동되지 않는 현상)이 발생할 수 있고 안전 사고의 원인이 된다"고 설명했다. 다시 말해 6년 탄차라면 적어도 3번은 갈았어야 한다는 말이다. 그렇게  갈지 않았다면? 지금이라도 당장 갈자. 갈고 나면 제동 느낌부터 확 달라진다.   냉각수(부동액), 에어컨 개스는 교체하는게 아니다 일부 카센터는 냉각수를 겨울마다 교체하고, 여름마다 에어컨 개스를 교체하기도 한다. 그런데 그럴 필요는 전혀 없다.  냉각수는 간혹 증발로 인해 부족해지면 보충하는데, 이때 만약 부동액 용액이 아닌 맹물을 넣었다면 냉각수가 희석된다. 이 때는 물을 빼고 부동액을 보충하면 된다. 맹물을 넣은 적이 없다면 아예 교체하지 않아야 한다. 냉각수 교체는 무려 10년, 20만킬로까지 안해도 된다. 다만 일단 교체를 하고 나면 이후부터는 2년 4만킬로마다 교체해야 한다. 믿어지지 않는다고? 자기 자동차 취급설명서 좀 읽자. 에어컨은 공기중 수분을 없애주는 효과가 있으므로 겨울에도 유리창 김서림을 막기 위해 작동하는게 좋다. 하지만 겨울 내내 단 한차례도 사용하지 않았다면 에어컨 가스가 조금씩 유출되는 경우가 있다. 가정용 에어컨은 가스통 속에 모터가 있어 완전 기밀이 유지되지만 자동차용 에어컨은 외부 엔진으로부터 동력을 받아야 하므로 가스가 새나올만한 틈이 있어서다. 에어컨 개스가 1년마다 점검, 부족하면 보충, 교체는 할 필요가 없다.   자동차 메뉴얼을 자주 읽고 전적으로 신뢰하자. 차를 만든 사람들의 설명을 안믿으면 누구를 믿겠나.   변속기오일(미션오일), 점화플러그, 디퍼런셜 오일...교환주기 생각보다 길다 틈만 나면 변속기 오일, 디퍼런셜 오일을 교체하자는 경우도 있다. 그런데 사실 이들은 교체할 필요가 없거나 교체주기가 엄청나게 길다. 최근 자동차들은 변속기 오일을 점검하는 스틱조차 없애버렸다. 변속기 오일이 무교환, 무점검식으로 만들어져 밀봉 돼서다. 만약 가혹조건에서 주행한다고 해도 10만킬로마다 갈면 된다. 점화플러그는 교환주기가 무려 16만km다. 점화플러그의 형태나 소재는 큰 관계 없다. 그냥 순정 플러그를 쓰면 된다. 4륜구동차나 후륜구동차에 사용되는 디퍼런셜 오일은 6만km마다 점검을 하면 된다. 만일 산길이나 시속 170km 이상으로 빈번하게 달리는 경우는 12만km에 교환한다.     새 타이어는 항상 뒤에 끼워야 한다 스포츠카를 제외하면 전륜구동이든 후륜구동이든 대부분 자동차 타이어는 앞쪽부터 닳는다. 특히 전륜구동 차는 앞부분 타이어가 뒤쪽에 비해 너무나 빨리 닳기 때문에 두짝만 갈아 끼우게 된다. 이때 굳이 말하지 않으면 카센터는 항상 앞쪽에 새 타이어를 끼운다. 그러나 이건 위험천만한 일이다.   세계 최대 타이어 회사인 미쉐린타이어는 다양한 방법으로 여러 낡은 타이어를 테스트 한 결과 헌 타이어를 반드시 앞에 끼우라고 당부했다. 슬립이 일어나기 쉬운 헌 타이어를 뒤에 끼우는 경우 빗길이나 눈길에서 뒤쪽이 미끄러져 오버스티어가 발생하기 쉬운데, 오버스티어는 언더스티어에 비해 회복하기 어렵기 때문이다.      물론 언더스티어가 위험하지 않다는 것은 아니다. 미쉐린 타이어 공식자료는 "모든 차는 대부분 코너에서 언더스티어가 조금씩 발생하는데 운전자들이 은연중에 이를 극복하면서 운전한다"면서 언더스티어가 오버스티어에 비해 훨씬 극복하기 쉬운 이유를 설명했다. 또 "더구나 언더스티어는 눈치채기도 쉬워서 코너에서 속도를 줄이게끔 유도하기도 한다"고 덧붙였다. 작업자는 당연히 닳아버린 앞쪽만 바꾸는게 쉽고 재 작업을 할 필요도 적지만 뒤쪽 타이어를 휠밸런스 점검 후 앞으로 보내고 뒤에 새로운 타이어를 끼우는게 옳다. 앞쪽이 금세 닳게 되면 또 뒤쪽 타이어를 앞으로 보내야 한다.    점검은 대부분 공짜다. 틈날때마다 하자. 가끔 '무상점검 기간'이라고 생색내는 브랜드들이 있는데, 대부분 브랜드는 언제나 점검을 공짜로 해준다. 현대자동차 고객서비스팀 김정열 과장은 "자기보다 자기 차를 사랑하는 사람이 있겠냐"면서 "관심을 더가질수록 좋고, 차에 이상한 소리가 나거나 느낌이 들때면 언제고 센터에 자주 가서 점검 받는게 바람직하다"고 설명했다.   Ref. 카센터가 절대 말해주지 않는 '자동차 관리 상식' 5가지 자동차 관리 방법에 대한 낡았거나 잘못된 정보들이 차고 넘친다. 이를 너무 굳게 믿다보니 자신과 다른 정보는 좀체 받아들이지 못하기도 한다. 많은 독자들이 이 글과 다른 생각을 갖고 있을테지만, 각 제조사 관계자와 자동차 취급설명서에는 이렇게 적혀 있다고 알려야겠다. 아, 벌써부터 정비업계 관계자들이 남길 악플들이 눈에 선하다. 뭐라고 말하든 상관없다. 선량한 소비자들이 자신의 권리를 주장할 수 있게 되길 바라기 때문이다. 인터넷에 떠도는 근거없는 설에 https://www.motorgraph.com/news/articleView.html?idxno=4262
John Doe · Nov. 6, 2023, 7:30 a.m.
SSL certificate_verify_failed errors typically occur as a result of outdated Python default certificates or invalid root certificates. When client receives the server’s certificate, it begins chaining that certificate back to its root. It will begin by following the chain to the intermediate that has been installed, from there it continues tracing backwards until it arrives at a trusted root certificate. If the certificate is valid and can be chained back to a trusted root, it will be trusted. If it can’t be chained back to a trusted root, the browser will issue a warning about the certificate.   Common issues :  CERTIFICATE_VERIFY_FAILED [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate. HTTPSConnectionPool(host='oriel.com' , port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))   How to fix it :  We will have several ways to fix this issue in this article.  We will skip the SS certificate check in the first three solutions.  For the fourth solution, we are going to install the latest CA certificate from certifi. Common Quick Fixes for All OS : import ssl import certifi from urllib.request import urlopen request = "https://nd-123-456-789.p2pify.com/901c7d18b72538fd3324248e1234" urlopen(request, context=ssl.create_default_context(cafile=certifi.where()))   Or we can try it in several ways as per in below articles 1. Create unverified context in SSL import ssl context = ssl._create_unverified_context() urllib.request.urlopen(req,context=context)   2. Create unverified https context in SSL import ssl ssl._create_default_https_context = ssl._create_unverified_context urllib2.urlopen(“https://google.com”).read()   3. Use requests module and set ssl verify to false requests.get(url, headers=Hostreferer,verify=False) * It's not recommended to use verify=False in your organization's environments. This is essentially disabling SSL verification. Sometimes, when you are behind a company proxy, it replaces the certificate chain with the ones of Proxy. Adding the certificates in cacert.pem used by certifi should solve the issue. I had similar issue. Here is what I did, to resolve the issue - Find the path where cacert.pem is located - Install certifi, if you don't have. Command: pip install certifi import certifi certifi.where() C:\\Users\\[UserID]\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\certifi\\cacert.pem Open the URL on a browser. Download the chain of certificates from the URL and save as Base64 encoded .cer files. Now open the cacert.pem in a notepad and just add every downloaded certificate contents (---Begin Certificate--- *** ---End Certificate---) at the end.   4. Update SSL certificate with PIP It is likely that the SSL certificate issued by the server is not trusted on your client. To fix this, you can either use a trusted certificate from a recognized certificate authority on the API end, or add the certificate authority from your API to your client. if the error stay, try these commands to update your SSL certificate libs With PIP. All we would have to do is to update our SSL certificate directory with the following piece of code: if older version of python3 pip install –upgrade certifi if newer version of python3 python -m pip install --upgrade certifi What this command does is update our system’s SSL certificate directory. This will ensure that your client has the latest version of the library, which includes a set of trusted root certificates that may be needed to verify SSL certificates.   5. Update SSL certificate with certifi (MacOS only) All we would have to do is to run command with the following piece of code: - Press "command + space" button or open Spotlight - type "Install Certificates.command" What this command does is update our system’s SSL certificate directory for MacOS.   https://support.chainstack.com/hc/en-us/articles/9117198436249-Common-SSL-Issues-on-Python-and-How-to-Fix-it Unable to get local issuer certificate when using requests here is my code import requests; url='that website'; headers={ 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Accept-Language':'zh-CN,zh;q=0.... https://stackoverflow.com/questions/51925384/unable-to-get-local-issuer-certificate-when-using-requests HTTPSConnectionPool: Max retries exceeded with URL (Caused by SSLError) I am trying to make an HTTPS request to a URL using Python requests library and certifi library as follows: import certifi url = 'https://10.0.0.39:4455/api/cars' response = requests.get(url, verify= https://stackoverflow.com/questions/75913891/httpsconnectionpool-max-retries-exceeded-with-url-caused-by-sslerror CERTIFICATE_VERIFY_FAILED error Python Django error: &lt;urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)&gt; Exception Location: /usr/lib/python3.8/u... https://askubuntu.com/questions/1401379/certificate-verify-failed-error Why do I receive 'unable to get local issuer certificate (_ssl.c:997)' When sending a request to a specific URL I get an SSL error and I am not sure why. First please see the error message I am presented with: requests.exceptions.SSLError: HTTPSConnectionPool(host='di... https://stackoverflow.com/questions/70977935/why-do-i-receive-unable-to-get-local-issuer-certificate-ssl-c997 SSLError: max retries exceeded with url error? How to fix this? I am attempting to scrape text off of websites, and I am using the requests module to do so. With the given code (Facebook as an example here) requests.get('http://facebook.com') I receive back the https://stackoverflow.com/questions/72188582/sslerror-max-retries-exceeded-with-url-error-how-to-fix-this
John Doe · Aug. 29, 2023, 8:15 p.m.
ssl python
What is JSON Web Token? JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA. JSON Web Tokens can be integrity protected with a hash-based message authentication code (HMAC). The producer and consumer must posses a shared secret, negotiated through some out-of-band mechanism before the JWS-protected object is communicated (unless the producer secures the JWS object for itself). 정보를 비밀리에 전달하거나 인증할 때 주로 사용하는 토큰으로, Json객체를 이용함. 그냥 DB에 인증 코드를 저장 하는 경우도 많지만 어디에도 저장하지 않는 방법도 흔히 쓰인다. 단순하게는 그냥 인증 정보를 HMAC 으로 사인하기만 하더라도 보안상 충분하고 더 많은 기능이 있는 JWT같은 방식을 사용할 수도 있다. JWT는 Json Web Token의 약자로 일반적으로 클라이언트와 서버 사이에서 통신할 때 권한을 위해 사용하는 토큰이다. 웹 상에서 정보를 Json형태로 주고 받기 위해 표준규약에 따라 생성한 암호화된 토큰으로 복잡하고 읽을 수 없는 string 형태로 저장되어있다.   HMAC (Hash-Based Message Authentication Codes) Definition Hash-based message authentication code (or HMAC) is a cryptographic authentication technique that uses a hash function and a secret key. With HMAC, you can achieve authentication and verify that data is correct and authentic with shared secrets, as opposed to approaches that use signatures and asymmetric cryptography. -메세지 인증을 위한 Keyed-Hasing의 약자 -인증할 데이터와 공유 비밀키에 대해 암호화 해시 함수(예. SHA1, SHA256)를 실행하여 얻은 메시지 인증코드 전자 서명과 유사 : 무결성/진정성 강화, 암호키 사용, 해시 함수 사용 전자 서명과 차이 : 전자 서명(비대칭키), HMAC(공개키) -인증과정 해쉬 생성 : 클라이언트는 key + message를 HMAC 알고리즘으로 처리하여 hash 값을 만들어낸다. 요청 보내기 : 생성된 hash와 message를 HTTP 요청으로 REST API서버에게 보낸다. 보통 hash는 HTTP 헤더 또는 url에 포함된다. 해쉬 생성 : 서버는 클라이언트에게서 받은 요청 내의 message와 본인이 가지고있던 key를 조합하여 HMAC으로 hash값을 생성한다. 비교 : 클라이언트에서 넘어온 hash와 서버에서 생성된 hash가 동일한지 비교한다. 동일하면 인증 성공이다.   JWT: Choosing between HMAC and RSA HMAC is used to prevent manipulation by someone who does not have access to the secret. Typically this means preventing manipulation by the client if the secret is only known to the server or to prevent manipulation in transit if the secret is known to client and server. An RSA based signature is used to prevent manipulation and also to allow others to verify the integrity and source of the data without being able to manipulate the data. This can be done because the private key is only known to the provider and signer of the data while the public key is known to everybody who likes to verify the integrity. What to choose thus depends on your specific use case. If the server just needs to protect the token against manipulation by the client then using HMAC with a server side secret is enough. If instead it needs to be also proven to others that the token was created by a specific (trusted) server then RSA based signatures should be used.   JWT.IO - JSON Web Tokens Introduction Learn about JSON Web Tokens, what are they, how they work, when and why you should use them. http://jwt.io/ JWT: Choosing between HMAC and RSA It is my understanding that HMAC is a symmetric signing algorithm (single secret key) whereas RSA is an asymmetric signing algorithm (private/public key pair). I am trying to choose between these 2 https://security.stackexchange.com/questions/220185/jwt-choosing-between-hmac-and-rsa HMAC (Hash-Based Message Authentication Codes) Definition | Okta Okta Looks like you have Javascript turned off! Please enable it to improve your browsing experience. Skip to main content Registration for Oktane is open! Registration for Oktane is open! Register now Register now Register now for Oktane +1 (800) 425-126 https://www.okta.com/identity-101/hmac/ HMAC 인증이란? - REST API의 보안 안녕하세요! HMAC 인증 이라는게 참 처음접하면 이게 어떤 원리로 동작하는건지 혼란스러운데, 찾아보니 영어로는 쉽게 잘 설명해주는 글들이 많은데 한국어로는 쉬운 설명이 정말 거의 없더라구요. 그래서 제가 하나 적어보기로 했습니다. HMAC을… http://haneepark.github.io/2018/04/22/hmac-authentication/ HMAC 알고리즘 정리 Mac이란?Message Authentication Code의 약자로 "인증된 메세지코드"라는 의미비즈니스 의사 결정과 프로세스는 정확하고 신뢰가능한 데이터에 의존적데이터 변조와 변경 사항이 눈에 띄지 않으면 의사 결정 밒 프로세스에 영향을 미칠 수 있음데이터를 인터넷 https://velog.io/@jamwonsoo/HMAC-알고리즘-정리 JWT란 무엇인가? JWT(Json Web Token) > 정보를 비밀리에 전달하거나 인증할 때 주로 사용하는 토큰으로, Json객체를 이용함 JWT는 Json Web Token의 약자로 일반적으로 클라이언트와 서버 사이에서 통신할 때 권한을 위해 사용하는 토큰이다. 웹 상에서 정보를 Json형태로 주고 받기 위해 표준규약에 따라 생성한 암호화된 토큰으로 복잡하고 읽을 수 ... https://velog.io/@hahan/JWT란-무엇인가
John Doe · Aug. 28, 2023, 11:04 p.m.
JWT HMAC RSA