3j.jun

All

Dev/JavaScript

[Javascript] 기초

JavaScript란?HTML, CSS로 구성되어있던 홈페이지에서 동적으로 변경되는 콘텐츠를 만들고 제어하기 위해 생성된 스크립팅 언어이고, 변수를 *일급 객채 취급하는 언어이다. 이는 변수에 함수를 담을 수 있고 함수를 리턴 할 수 있다는 얘기이다. JavaScript에서 기본적으로 알아야할 내용들이 몇가지 내용들이 있는데 요약하자면 변수 선언의 종류, 호이스팅, 스코프, 프로토타입, 비동기 처리 정도 있다. 이 정도만 안다면 초급 딱지는 땠다고 생각해도 될 것 같다.*일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다.  JavaScript 변수 선언보통 var를 사용하여 변수를 선언하였는데 *ES6에서 const, let이 추가되었다. var의 경우 선언과 동시에..

Dev

[Error] tomcat 경로 문제 (ClassNotFoundException 오류) 해결

기존에 잘 되던 홈페이지에 갑작스레 HTTP 404에러가 발생하였다. 방금까지 잘되던걸 확인했었는데 너무 당황스러워 일단 톰캣 재시작을 해도 마찬가지, 해당 경로를 찾아가도 정상적이고 로그를 보니 ClassNotFoundException 이 뜨는데 왜 이 에러가 뜨는지 이해가 안되고 너무 당황스러워 로그를 더 자세히 보지 못했네요ㅠ 잠깐 예전에 vue 프로젝트로 빌드하여 톰캣에 올렸던 적이 있는데 가끔 빌드된 파일들을 다시 못불러 올 때가 있어 tomcat에 올라간 화면 소스를 다시 불러오기 위해 work폴더를 지웠다가 재시작 했던 기억이 나서 그대로 해보니 해결되었는데 해당 문제에 대해 찾는 분이 있을까 공유합니다! 톰캣 경로에 가보면 work라는 폴더가 있는데 해당 폴더에 들어가보면 프로젝트의 폴더가..

Dev/JAVA

[JAVA] HttpConnect를 통해 API 호출 및 데이터 받기

프로젝트를 진행하던 중 다른 업체에서 제공하는 API를 호출하여 메시지를 보내거나, 메일을 보내는 달라는 요청이 와서 기존 함수를 확인해보니 제대로 작동하지 않아 참고하여 다시 만들었고 해당 내용을 공유하고자 합니다. 해당 API는 POST방식만 지원하기에 POST방식으로만 작성했습니다. java에서 외부 api를 호출 및 사용할 때에는 java.net.*를 사용하면 됩니다. 우선 해당 URL에 연결 및 발송하는 부분을 만들어주고 // ApiConnectUtil.java public class ApiConnectUtil { /** * URL로 부터 결과를 얻는다. * @param url파라미터를 제외한 URL * @param params파라미터들 * @return결과 문자열 * @throws Except..

Dev/WEB

[SEO] 검색 사이트 노출(검색) 방지 및 수집 금지 요청

최근 고객사에서 개발서버의 웹사이트가 노출되어 고객에게 혼란을 줄 수 있다는 요청이 들어와 확인을 해보니 예전에 누가 등록을 한건지 검색이 잘 되고 있었다. 처음엔 소유권을 뺐어 사이트 노출 금지 요청을 하려 했으나, 등록된 사이트를 전부 아는 것도 아니고 추후 프로젝트 담당자가 변경된다면 누군가는 같은 일을 할 것이라고 생각했다. 하여 검색 엔진의 수집 로봇에게 수집 금지 요청을 하면 자동으로 내려갈 것 이라고 생각했고 검색을 해보니 해당 내용이 맞았다. 위 내용을 잘 보면 robots.txt파일에서 경로를 차단해버린다면 아예 크롤링 시도를 하지 않아 meta태그의 noindex, nofollow의 내용을 인지하지 못해 안된다는 내용이 있다. 해더에 해당 내용을 삽입한다면 profile이 dev일 때,..

Study/보안

[XSS] 크로스 사이트 스크립팅 공격과 대응 방법

우선, 저는 보안에 대해 전문가가 아니며 웹페이지 구축 중 습득한 정보, 공부한 정보를 바탕으로 정리를 기반하여 이 글을 작성합니다. XSS란? XSS는 Cross Site Scripting의 약자로 악의적인 스크립트 언어를 웹페이지에 삽입 후 그 웹페이지에 방문하는 사람의 쿠키, 세션의 정보를 탈취하여 해커에서 전송하거나 악의적인 행동을 하는 공격 기법입니다. 이 XSS는 여러가지 공격 기법이 있는데 대표적으로 url에 코드 삽입, 검증되지 않은 url로 값 전송, script 삽입 등이 있다. XSS공격은 방법이 무수히도 많고 방문하는 웹사이트를 공격하여 악의적인 스크립트를 심어두고 방문자를 공격하는 방식이라 안전한 사이트라고 생각한 곳에서도 공격을 당할 수 있습니다. 공격 종류 콘텍스트 코딩 방어책..

Dev/Python

[Python] 파이썬으로 출석 체크 실행 파일과 외부 설정 파일로 값 변경하기 (With. selenium)

Python으로 개발을 해본적이 없어 잘은 모르지만, 정보처리기사와 학교 수업으로 인해 조금이나마 문법과 실행 방법 어떤 라이브러리를 많이 쓰는가 정도는 알고있었다. 학교와 회사를 다니며 출석체크, 체크인을 하는 매번 웹에서 하게되는데 자주 깜빡거려 출석을 못하곤 했다. 문득 셀리니움을 활용하면 출석체크를 자동으로 할 수 있지 않을까 생각되어 응용프로그램을 만들기로 마음먹었다. 또한 무슨 버전인지는 모르겠으나 셀리니움의 요소를 찾는 방법이 내가 설치한 버전과 달리 조금 변경되어 해당 내용을 공유하고자 한다. (selenium 4.11.2 버전) #샐리니움 요소 위치 찾기 소스 코드만 원하시는 분들이 있을까 싶지만 Github에 공유 했습니다. Example # ========================..

Dev/JAVA

[JAVA] 반복문과 정규식을 같이 사용하기 (XSS 대응 및 정규식 설명)

들어가기전 프로젝트에 XSS 취약점을 보완하고 싶어 여러 방법을 생각해보았다. XSS보안 라이브러리를 사용 혹은 정규식으로 취약 문자열 제거 등 여러 방법을 고민을 하다 보안이 뛰어나지만 많은 부분을 생각하고 확인해야하는 라이브러리 말고 특정 문자열을 제거하는 방식으로 진행하게되었고 정리를 위해 포스팅을 하기로 했다. XSS 공격은 여러가지 공격이 있다. 악성코드(악의적인 스크립트 등)을 URL, HTML, 태그 내 SRC, CSS 값, DOM 등 여러가지 공격 기법이 있어 그에 맞는 대응을 해야한다. 예를 들어 SRC같은 경우 로컬에 있는 경로 또는 화이트 리스트를 만들어 해당하는 URL이 아니라면 제거하는 방식이 필요하다. HTML을 검증하는 부분은 태그의 값이 아닌 경우는 HTML Entity 인코..

Dev/WEB

[JS] URL에서 파라미터, get, path 등 가져오기

웹개발 중 현재 페이지에서 URL에 있는 param값을 가져오고 해당 값으로 js단에서 처리를 하고자 할 때 값을 가져오는 방법은 html dom api인 Location, URLSearchParams 를 사용하면 금방 구현 할 수 있다. 쉽게 url의 값을 가져올 수 있습니다. How to use const url = 'https://devpuer.tistory.com/view.do?detailsKey=1&focus=1'; // 전체 url https://devpuer.tistory.com/view.do?detailsKey=1&focus=1 console.log(location.href) // url중 get 부분 ?detailsKey=1&focus=1 console.log(location.search..

Dev/WEB

[JS] scrollIntoView 해당 요소로 Focus하기, 해당 요소로 스크롤 하기

리스트 형식의 화면을 구성하거나, 한 페이지에서 스크롤을 사용하고 싶은 경우 예전에는 그 움직이고자 하는 요소의 위치 값을 받아와 scollto 함수를 사용하여 스크롤을 하곤 했는데 더 좋은 방법을 찾았네요. 스크롤 기능을 구현할 때 다른 방법으로는 jQuery 스크롤, window함수 사용 등 다양한 방법이 있지만 해당 요소의 위치 값을 얻어오고 전체 list에서 위치값을 구해 옮기는 등 다소 불편하고 복잡한 경우가 있는데 이 방법은 진짜 간단하게 jQuery 추가 없이 스크롤만 사용하기엔 너무 좋은 방법이라 공유 및 정리합니다. 저는 이코드를 프로젝트에서 리스트 안에 2번째 img태그부터 스크롤이 되어 출력되고자 했고 부가적인 기능은 없었습니다. 이미지의 요소(dom)을 받아와 해당 함수만 실행해주면..

Dev/WEB

[Fullcalendar] 라이브러리 이용해서 달력 만들기, 사용법 정리

FullCalendar 달력 기능을 구현할 때 많이들 사용하는 라이브러리로 간단하게 소개 및 사용법을 정리하고자 합니다. 포스팅의 모든 내용은 공식 홈페이지에서 확인할 수 있으며, 단순 정리와 어떻게 사용했는지에 대한 내용을 정리 용도로 작성하겠습니다. js로 달력을 만들기 위해 fullcalendar를 사용할 것이며 아래의 공식 링크에서 보다 자세한 사용법을 알 수 있습니다. FullCalendar - JavaScript Event Calendar Open Source... With over 10 years of open source and over 120 contributors, FullCalendar will always have a free and open source core. Learn mor..

3j.jun
'분류 전체보기' 카테고리의 글 목록