본문 바로가기
프로그래밍/홈페이지 제작기

[Flask]Flask를 쓸때는 PHP도 괜찮은 방법일듯?

by Mr.noobiest 2023. 8. 30.

 

보통 flask를 사용해서 페이지를 렌더링할때 가이드나 redit에서는 render_template('이름.html',url_parameter="value") 형태로 많이 설명하지만 URL에 노출된다는 문제도 있고, jquery를 사용해도 되긴하지만 코드가 쓸데없이 길어지는 느낌이 많이 들기 시작했다.

 

import subprocess

@app.route()
def test():

    result = subprocess.check_output(['php'  ,   './test.php'  ,  'test1'   ,  'test2'])
    return result

Flask코드에 위에와 같이 작성하면 php렌더링이 실행되고, 총 2개의 값이 test.php로 전달된다.

'test1','test2' 물론 flask는 json이나 기본 타입들의 데이터만 전송이 가능하지만 보통 json형태로 데이터를 주고 받기 때문에 큰 문제는 아닌것 같다.

 


전달받은 데이터를 사용하는 방법은 다음과 같다.

 

1) Javascript에 전달받은 php값 사용하기

<?php $value_1=$argv[1] ?>

<script>
    var test = "<?php echo $value_1; ?>";
</script>

또는

 

2) 다이렉트로 바로 사용하기 

<body>
    <h2>
        <?php $value_1=$argv[1]; echo $value_1; ?>의 값은 다음과 같습니다.
    </h2>
</body>

 

이때 argv[n]; 에서 n의 값은 1부터 시작이다.

총 2개의 데이터를 전송받았으니 argv[1], argv[2] 형태로 사용하면 된다.


php를 사용할때 발생할 수 있는 보안 취약점들을 공부 해야겠다.

728x90
반응형