테스트 사이트 - 개발 중인 베타 버전입니다

php코드를 db에 저장하여 관리하기? 채택완료

망고씌 7년 전 조회 4,051

게시판별로 스킨을 새로만드는게 번거로워 바뀌는 부분만 php코드(html/css포함)를 db에 저장하고싶은데 가능한가요?

관리자페이지를 따로만들어서 텍스트박스에 들어간 코드를 db에 넣고 게시판에서는 db에 저장된 코드를 php그대로(html/css포함) 불러와야하는데 그대로 불러오는 함수가 있나요?

 

그런데 이런방식이 보안에 안좋은가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
베원
7년 전

db에 텍스트로 저장하시고, php의 eval 함수를 이용해서 실행하도록 하면 됩니다.

위험한 방법이긴 합니다. db가 뚫리는 경우에 웹쉘 코드를 삽입하면 서버 전체를 마비시킬수도 있어요.

차라리 파일 입출력을 이용하심이 더 낫지 않을까 싶습니다. (마찬가지로 eval 함수를 사용하면 됩니다.)

 

eval 함수에 대한 설명입니다.

http://php.net/manual/kr/function.eval.php

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

망고씌
7년 전
감사합니다.
파일로 저장할때 확장자는 php로 해야할까요?
txt나 무확장자로해도 무방할까요?
베원
7년 전
@망고씌 무방하지 않습니다. 최대한 php 확장자 이용하시는 쪽으로 하는게 좋을 것 같아요.
php 확장자 이용하신다면 include 함수를 이용해서 하는 것을 최우선적으로 고려해보시기 바랍니다.
eval 함수는 아무래도 정말 위험합니다.
베원
7년 전
@망고씌 설명이 조금 부족했는데, php 확장자 말고 다른 확장자로 처리하면 사용자가 다운로드해서 소스를 볼 위험이 있습니다.
망고씌
7년 전
친절한설명 감사합니다.
아무래도 스킨 폴더를 여러개 쓰는법 밖에 없겠군요.. ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

Policia
7년 전

php코드를 db에 저장하는방법도 상당히 위험하지만 더군다나 그걸 또 실행될 수 있게끔하는 방법은 매우 적절치 못해보입니다... 다른 방법을 찾는게 좋을것같습니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망고씌
7년 전
그렇군요.. 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인