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

js 불러오는 방법

조아무개 1년 전 조회 2,042

아래와 같은 보안 메타태그를 입력하니

파일 내에 style, script를 입력하면 안되고

css, js 를 만들어 불러와야 구동이 됩니다.

</p>

<p><meta  http-equiv="Content-Security-Policy"  content="default-src 'self';" /></p>

<p>

 

서브페이지에 서브메뉴를 아래의 코드를 이용해 불러오는데

중간에 스크립트 부분을 어떻게 수정해야될까요?

</p>

<p><div id="mysubmenu">

            <?php

            $sql = " select *

                        from {$g5['menu_table']}

                        where me_use = '1'

                          and length(me_code) = '2'

                        order by me_order, me_id ";

            $result = sql_query($sql, false);

            $gnb_zindex = 999; // gnb_1dli z-index 값 설정용</p>

<p>            for ($i=0; $row=sql_fetch_array($result); $i++) {

            ?>

            <ul id="mysub<?php echo $i ?>" style="display:none;">

                <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" ><h2 class="leftmenu_b"><?php echo $row['me_name'] ?></h2></a>

                    <?php

                    $sql2 = " select *

                                from {$g5['menu_table']}

                                where me_use = '1'

                                  and length(me_code) = '4'

                                  and substring(me_code, 1, 2) = '{$row['me_code']}'

                                order by me_order, me_id ";

                    $result2 = sql_query($sql2);

                    

                    //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌

                    if ( ($row['me_name']==$board['bo_subject'])||($row['me_name']==$g5['title']) ) {

                        echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");

                    }

            

                    for ($k=0; $row2=sql_fetch_array($result2); $k++) {

                        if($k == 0)

                            echo '<ul>'.PHP_EOL;

                    ?>

                        <a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" ><li><?php echo $row2['me_name'] ?></li></a>

                    <?php  </p>

<p>                        //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌

                        if ( ($row2['me_name']==$board['bo_subject'])||($row2['me_name']==$g5['title']) ) {

                            echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");

                        }</p>

<p>                    }</p>

<p>                    if($k > 0)

                        echo '</ul>'.PHP_EOL;

                    ?>

            </ul>

            <?php } ?></p>

<p>

        </div></p>

<p>

 

아래의 코드만 수정하면 될꺼 같은데 방법을 모르겠습니다.

</p>

<p> echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");</p>

<p>

 

 

 echo (" <script src='/js/sub_right_m.js1></script>");

이렇게 수정하니 에러메세지만 뜨네요

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

답변 1개

웅푸
1년 전

CPS 보안 정책에 따라서 문제가 발생하는듯합니다.

즉 인라인 스크립트를 사용을 막고 외부스크립트를 적용하여 테스트 해보시기바랍니다.

https://m.blog.naver.com/senshig/222176163326">nodejs 로 Content-Security-Policy(콘텐츠 보안정책 : CSP ) 설정하기 : 네이버 블로그 (naver.com)  참고해보시기랍니다.

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

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

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

로그인