Programing Language(29)
-
Php wrapper
PHP에서는 fopen(), copy(), file exists(), filesize() 와 같은 파일 시스템 기능과 함께 사용하기 위한 다양한 URL 스타일 프로토콜을 위한 많은 내장 래퍼와 함께 제공된다 . 이외에도 steam wrapper register() 를 사용하여 사용자 정의 래퍼를 등록할 수 있다. wrapper 종류 file:// — 로컬 파일 시스템 액세스 http:// — HTTP(s) URL 액세스 ftp:// — FTP URL 액세스 php:// — 다양한 I/O 스트림 액세스 zlib:// — 압축 스트림 data:// — 데이터(RFC 2397) glob:// — 패턴과 일치하는 경로 이름 찾기 phar:// — PHP 아카이브 ssh2:// — 보안 셸 2 rar:// — R..
2022.05.17 -
특수 권한 [SETUID, SETGID, STICKY BIT]
SETUID SETGID STICKY BIT 리눅스 특수권한은 3가지가 있다. 3가지 특수권한 모두 파일 실행에 관련된 기능[x, excute]으로 사용된다. 실행권한 자리 x대신에 SETUID->s[USER 권한], SETGID->s[GROUP 권한], STICKYBIT->t[OTHER 권한]가 들어간다. x 권한이 없는 경우에는 대문자 기호가 들어간다. 기존권한인 read[r], write[w], execute[x] 가 4, 2, 1 인 것과 같이 특수권한 역시 SETUID[s] -> 4, SETGID[s] -> 2, STICKY BIT[t] -> 1 의 값을 가진다. 특수권한을 부여하는 방법으로는 문자형태, 숫자형태로 구분이 된다. 두 방법 모두 chmod라는 명령해서 접근을 해야된다. 문자명령형식..
2022.05.12 -
map & set
컴공선배의 알고리즘캠프의 강의 내용을 공부하여 정리해 놓은 목적으로 작성하였습니다 map 과 set은 공통점이 많기 때문에 알고리즘 문제를 풀때 map문제를 set문제를 적용해서 풀 수 도 있고 반대도 가능하다. #map map의 특징으로는 key값과 value 값이 있다. key값은 중복을 허용하지 않고 value값은 중복을 허용한다. 삽입, 삭제시 시간 복잡도는 O(1) 이다. # set은 흔히 집합이라고 부른다. set 역시 map처럼 중복을 허용하지 않고 삽입, 삭제시 시간복잡도도 O(1) 이다. pop()을 사용하면 어떤값이 빠지는지 알 수가 없고 랜덤인 값이 빠진다 remove(n)를 사용하는 n에 자신이 원하는 특정값을 넣어 뺄 수 있다 clear()을 사용하면 모든 요소의값을 뺀다
2022.05.04 -
itertools [완전탐색]
완전탐색을 공부하는 도중 itertools 라이브러리라는 것을 알게 되었고 여기서에서 조합, 순열과 관련된 문제에 유용하게 쓰일 수 있는 4가지 함수를 발견하였다. combibations() combinations_with_replacement() product() permutation() 조합형 이터레이터 이터레이터인자결과 product() p, q, … [repeat=1] 데카르트 곱(cartesian product), 중첩된 for 루프와 동등합니다 permutations() p[, r] r-길이 튜플들, 모든 가능한 순서, 반복되는 요소 없음 combinations() p, r r-길이 튜플들, 정렬된 순서, 반복되는 요소 없음 combinations_with_replacement() p, r r..
2022.05.03 -
about addslashes & stripslashes
이미 아시는 분들은 그냥 넘어가주시거나 참고만 해주시면 감사하겠습니다 ○addslashes addslashes(string $string): string DBMS에서는 문자열을 저장할때 ' " \ NULL을 기준으로 문자열을 구분합니다. 하지만 위의 문자가 포함된 데이터를 가져올 때 예기치 못한 오류가 발생할 수 있습니다. 위를 방지하기 위해 데이터베이스 질의에서 처리할 필요가 있는 문자 앞에 백 슬래시[\]를 붙입니다. ex) $str = I'm a boy; $output = addslashes($str); -> I\'m a boy 위처럼 addslashes를 사용하면 I'm a boy의 ' 앞에 \을 붙여주어 문자열로 바꿔버려 쿼리문의 오류발생을 하지 않습니다. lost을 푸신분들 아시겠지만 adds..
2022.04.13 -
about magic_quotes_gpc
webhacking을 풀면서 magic_quotes_gpc라는 개념이 나와서 간단하게 정리를 해볼까 합니다. 일단 magic_quotes_gpc은 phpini 파일에 위치하고 있고 magic_quotes_gpc의 기본값은 on으로 설정되어있습니다. magic_quotes_gpc은 익숙한 addslashes 함수처럼 get, cookie, post로 받아온 값들에 ' " \ NULL 이 있다면 자동으로 해당 문자 앞에 \ 을 붙여줍니다. webhacking이나 los 를 푸신분들이면 아시겠지만 magic_quotes_gpc 나 addslashes 함수를 우회하기 위해 애먹은적이 있었겠지요... cf) get_magic_quotes_gpc 을 on으로 설정한 후 문자열에서 addslashes 함수를 또 사용..
2022.04.12