2020년 3월 25일 보안정보 스크래핑

2020년 3월 25일 보안정보 스크래핑 3월 25일 보안정보 스크래핑 ==================================================================== + 주요 취약점 - 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 외 1건 1. 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 최근 OpenSMTPD* 취약점이 발견되는 등 메일전송 프로토콜에서 원격 명령어 실행이 가능하여 주의를 권고함 공격자는 취약점을 악용하여 피해를 발생시킬 수 있으므로, 해결방안을 참고하여 조치 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35302 2. Django 제품 SQL Injection 취약점 보안 업데이트 권고 최근 Django*에서 SQL Injection취약점(CVE-2020-9402)을 악용할 수 있는 개념증명코드(Proof of concept, PoC)가 인터넷상에 공개되어 사용자의 보안 업데이트 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35301 ==================================================================== + 취약점 - Apple Safari 취약점 1. Apple Safari 취약점 Apple Safari security bypass CVE-2020-3885 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178339 Apple Safari security bypass CVE-2020-3887 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178338 Apple Safari inform...

django 내장 템플릿 필터

django 내장 템플릿 필터

add

변수에 값을 추가함.

두 값을 정수로 강제 변환. 정수로 변환이 되면 더하기가 됨.

# value가 4면 6이 나옴 {{ value|add:"2" }} # first가 [1,2,3] second가 [4,5,6] = [1,2,3,4,5,6]이 나옴 {{ first|add:second }}

addslashes

따옴표 앞에 슬래시를 추가함. # "I'm using Django" 는 "I\'m using Django" {{ value|addslashes }}

capfirst

첫번째 문자를 대문자로 바꾼다. 문자가 아닌경우 효과가 없다. {{ value|capfirst }}

center

주어진 폭의 필드에 중앙을 마춤 # " Django " "{{ value|center:"15" }}"

cut

인수로 주어진값을 모두 제거 # 'ab c d' -> 'abcd' {{ value|cur:" " }}

지정된 형식에 따라 날짜 형식을 지정

PHP의 date() 함수와 비슷한 형식. 약간 다름 # Wed 09 Jan 2008 {{ value|date:"D d M Y" }}

default

값이 False이면 기본값으로 사용 # value가 빈 문자열이면 nothing를 사용 {{ value|default:'nothing' }}

default_if_none

값이 None인 경우 기본값을 사용 # value가 None이면 nothing를 사용 {{ value|default_if_none:"nothing" }}

dictsort

딕셔너리 목록을 가져와 인수에 주어진 키별로 정렬된 목록을 반환 {{ value|dictsort:"name" }} {{ value|dictsort:0 }}

dictsortreversed

dictsort와 기능은 같지만 역순으로 반환함.

divisibleby

값을 인수로 나눌수 있는 경우 True를 반환 # 값이 21이면 True {{ value|divisibleby:"3"}}

escape

문자열의 HTML을 이스케이프 한다.

HTML을 이스케이프 한다. < 를 < 로 바꿈. # escape가 꺼져 있을때 escape 필터를 사용하여 켤 수 있다. {% autoescape off %} {{ title|escape }} {% endautoescape %}

escapejs

JavaScript 문자열에서 사용할 문자를 이스케이프 처리함. {{ value|escapejs }}

filesizeformat

인수없이 사용하면 부동 소수점 숫자를 하나의 소수점 이하 자릿수로 반올림 하지만 표시할 소수점 자릿수가 있는 경우에만 해당.

인수가 -면 표시할 소수점이 있으면 3자리 없으면 해당없음

-면 표시할 소수점이 있으면 3자리 없으면 해당없음 인수가 부호없는 정수 이면 항상 자리수를 표시

기본값은 -1이다 # 34.23234 -> 34.2 # 34.0000 -> 34 # 34.2600 -> 34.3 {{ value|floatformat }}

force_escape

HTML 이스케이프를 문자열에 적용한다. # HTML 태그를 적용 {% autoescape off %} {{ body|linebreaks|force_escape }} {% endautoescape %}

get_digit

숫자를 받으면 요청 된 숫자를 반환

1은 오른쪽에서 첫번째 2는 오른쪽에서 두번째 # 123456789 -> 8 {{ value|get_digit:"2" }}

iriencode

IRI를 URL에 포함하기에 적합한 문자열로 바꿈.

URL에 포함하기에 적합한 문자열로 바꿈. URL애 ASCII문자가 포함된 문자열을 사용하려는 경우에 필요 # ?test=1&me;=2 -> ?text=1&me;=2 {{ value|ireiencode }}

join

python의 join 과 같이 문자열로 합칩니다. # ['a','b','c'] -> "a // b // c" {{ value|join:" // " }}

last

값의 마지막 항목을 반환. # ['a','b','c','d'] -> d {{ value|last }}

length

값의 길이를 반환. # abcd or ['a','b','c','d'] ->4 {{ value|length }}

length_is

값의 길이가 해당 인수랑 같으면 True 아니면 False # ['a','b','c','d'] or abcd -> True {{ value|length_is:"4" }}

linebreaks

줄 바꿈을 적절한 HTML로 바꿈 # joel

is a slug. -> joel is a slug {{ value|linebreaks }}

linebreaksbr

모든 개행 문자를 로 바꿈 # joel

is a slug. -> joel is a slug {{ value|linebreaksbr }}

linenumbers

줄번호가 있는 텍스트를 표시 # one -> 1.one # two -> 2.two # three -> 3.three {{ value|linenumbers }}

ljust

주어진 필드에서 왼쪽 정렬 # Django -> "Django " {{ value|ljust"10" }}

lower

문자열을 소문자로 변환. # Totally LOVING this Album! -> totally loving this album! {{ value|lower }}

make_list

리스트로 만들어 줌. # "Joel" -> ['J', 'o', 'e', 'l'] # 123 -> ['1', '2', '3'] {{ value|make_list }}

phone2numberic

전화번호를 숫자로 만들어 줌. # 800-COLLECT -> 800-2655328 {{ value|phone2numberic}}

pluralize

값이 1이 아닐 경우 복수접미어 를 반환 기본값은 's' You have {{ num_walruses }} walrus{{ num_walruses|pluralize:"es" }}

pprint

pprint.pprint() 디버깅을 위한 것.

random

지정된 리스트로 부터 임의 항목을 리턴함. # [1,2,3,4] -> 2 {{ value|random }}

rjusts

필드에 대하여 오른쪽 정렬을 함 # Django -> " Django" "{{ value|rjust:"10" }}"

safe

문자열을 출력하기 전에 더 이상 HTML 이스케이프가 필요하지 않은것으로 표시 {{ var|safe|escape }}

safeseq

시퀀스의 각 요소에 안정 필터를 적용 join과 같이 사용하면 유용함. {{ some_list|safeseq|join:", " }}

slice

리스트의 일부를 되돌려줌. 파이썬과 비슷하게 작동 # ['a', 'b', 'c'] -> ['a', 'b'] {{ some_list|slice:":2" }}

slugify

ASCII로 변환, 공백을 하이픈으로 변환. 영숫자, 밑줄 또는 하이픈이 아닌 문자를 제거, 소문자로 변환, 앞뒤 공백을 제거 # "Joel is a slug" -> "joel-is-a-slug" {{ value|slugify }}

stringforamt

문자열 혀식 지정자 인수에 따라 변수를 형식화 함 # 10 -> 1.000000E+01 {{ value|stringforamt:"E" }}

모든 [X]HTML 태그를 삭제할수 있도록 한다. Joel is a slug -> "Joel is a slug" {{ value|striptags }}

time

주어진 형식에 따라 시간을 포맷함. # datetime.datetime.now() -> "01:23" {{ value|time:"H:i" }}

timesince

해당 날짜 이후의 시간으로 날짜를 형식화 # blog_date=2006/6/1 comment_date=2006/6/1 08:00 -> 08:00 {{ blog_date|timesince:comment_date }}

timeuntil

현재 부터 주어진 날짜 또는 날짜 시간까지의 시간을 측정 # 오늘이 2006/6/1 confrerence_Date=2006/6/29 -> 4주 {{ confrerence_Date|timeuntil:from_date }}

title

단어를 대문자로 시작하고 나머지문자를 소문자로 만듬. # my FIRST post = My First Post {{ value|title }}

truncatechars

문자열이 지정된 인수보다 길면 자른다. 잘린문자열을 ...로 표현 # Joel is a slug -> Joel i... {{ value|truncatechars:9 }}

truncatechars_html

truncatechars와 비슷하지만 HTML 태그를 인식함 # Joel is a slug -> Oel i.. {{ value|truncatechars_html:9 }}

truncatewords

특정 단어 수 뒤의 문자열을 자름. # Joel is a slug -> Joel is ... {{ value|truncatewords: 2 }}

truncatewords_html

truncatewords와 비슷하지만 HTML 태그를 인식 # Joel is a slug -> Joel is ... {{ vallue|truncatewords_html:2 }}

unordered_list

리스트의 형식에 따라 태그를 만듬. # ['States', ['Kanasa']] # States # # Kansas # # {{ value|unordered_list }}

upper

문자열을 대문자로 변환 # Joel is a slug -> JOEL IS A SLUG {{ value|upper }}

urlencode

URL에 사용할 이스케이프 처리 함. # https://www.example.org/foo?a=b&c;=d # -> https%3A//www.example.org/foo%3Fa%3Db%26c%3Dd {{ value|urlencode }}

urliize

일반 텍스트의 URL 및 이메일 주소를 클릭 가능한 링크로 변환 {{ value|urlize }}

urliizetrunc

urlize와 같이 동작 하지만 주어진 인수보다 글자수가 크면 URL을 자른다. (…) # Check out www.djangoproject.com # -> Check out www.djangopr... {{ value|urliizetrunc:15 }}

wordcount

단어의 수를 반환 # Joel is a slug -> 4 {{ value|wordcount }}

wordwrap

지정된 길이로 단어를 줄바꿈 함. # Joel is a slug # Joel # is a # slug {{ value| wordwrap:5 }}

yesno

True, False, None 값을 문자열 'yes', 'no', 'maybe'에 매칭되는 문자로 반환 # True -> yeah {{ value|yesno:"yeah,no,maybe"}}

i18n

번역가능한 텍스트를 지정할 수 있게함.

USE_I18N을 True로 설정 {% load i18n %}

l10n

템플릿 값의 로컬라이징을 지원 함.

USE_L10N을 True 하여 기본적으로 활성화 되도록 하는 경우가 많음. {% load l10n %}

tz

템플릿의 시간대 변환을 제어

USE_TZ를 True로 설정하여 로컬 시간의 변환을 기본적으로 발생 시킬 수도 있음. {% load tz %}

Django에는 INSTALLED_APPS에 명시적으로 표시하고 {% load %} 태그를 통해 활성해야 하는 몇 가지 다른 템플릿 태그 라이브러리가 있음.

django.contrib.humanize

사람의 손길을 추가하는데 유용한 템플리

static

static

STATIC_ROOT에 저장된 정적 파일에 연결

STATICFILES_STORAGE에 지정된 저장공간의 url() 메소드를 사용하여 파일을 제공

url() 메소드를 사용하여 파일을 제공 as를 사용하여 이름 사용 가능

{% load static %} # 변수를 전달 받아 사용 가능

get_static_prefix

정적 템플릿이 삽입되는 정확한 위치와 방법을 제어 하기 위해 사용

{% load static %}

get_media_prefix

get_static_prefix와 마찬가지로 사용

{% load static %}

원문 : https://himanmengit.github.io/django/2018/02/23/Built-In-Template-Filter.html

from http://devlink.tistory.com/306 by ccl(A) rewrite - 2020-03-06 23:54:38

댓글

이 블로그의 인기 게시물

엑스브레인(XBrain) 기업 정보

django 설치 방법

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기