2014-06-06 3 views
-1

정확하고 전문적인 방법은 내가 생각 나는 그것에 대해 읽고 내가 찾을 수있는 예제를 찾고 있지만 된 htmlspecialchars()사용하여 반드시 htmlspecialchars()/html로 내가 올바른 방법을 알고 싶습니다

사용의 내 자신의 작업 예제에서 내 자신을 적용 할 수 없었기 때문에 등록하지 않아도됩니다.

누군가 내게 htmlspecialchars() 및 기타 적절한 구성을 구현하여이 문장을 안전하고 전문적인 것으로 간주 할 수있는 방법을 보여줄 수 있습니까?

 <h3>Recent Post</h3> 
      <?php 
       $stmt = $con->query('SELECT * FROM blogData ORDER BY id DESC'); 
        while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
         $title = $row['title']; 
         $content = $row['content']; 
         $category = $row['category']; 

      ?> 
      <div class="features"> 
       <div class="box"><img src="Developer/common-files/icons/[email protected]" width="100" height="100" alt="Wuno Inc.">  
        <h6><?php echo $category; ?> - <?php echo $title; ?></h6> 
        <p><?php echo $content; ?></p> 
       </div> 
      </div> 
       <?php 
       } 
       ?> 
    </div> 

어떻게해야합니까? 아니면 내가 더 할 수 있을지.

<h3>Recent Post</h3> 
       <?php 
        $stmt = $con->query('SELECT * FROM blogData ORDER BY id DESC'); 
         while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
          $title = $row['title']; 
          $content = $row['content']; 
          $category = $row['category']; 

       ?> 
       <div class="features"> 
        <div class="box"><img src="Developer/common-files/icons/[email protected]" width="100" height="100" alt="Wuno Inc.">  
         <h6><?php echo htmlspecialchars($category); ?> - <?php echo htmlspecialchars($title); ?></h6> 
         <p><?php echo htmlspecialchars($content); ?></p> 
        </div> 
       </div> 
        <?php 
        } 
        ?> 
+0

일반적으로 수용 가능한 것으로 간주됩니다. 몇 가지주의 사항이 있습니다 : http://stackoverflow.com/a/110576/362536 가장 좋은 방법은 HTML로 데이터를 에코하지 않고 템플릿 엔진을 사용하여 템플릿 엔진이 적절한 모든 이스케이프 처리를 수행하도록하는 것입니다. Smarty는 PHP의 일반적인 선택이며 쉽게 이동할 수 있습니다. – Brad

+0

기본적으로 HTML로 해석하지 않으려는 출력을 브라우저로 보내려면'htmlspecialchars()'를 사용하십시오. HTML에서 의미있는 문자 (예 : '<' and '>')를 텍스트에 포함하고 브라우저에서 HTML처럼 취급하지 않도록 해당 문자를 엔티티로 변환 할 때 사용할 수 있습니다. – Crackertastic

+0

감사합니다. 그래서 HTML로 해석되는 어떤 것을 울리면 언제든지 SQL 인젝션을 열 수 있습니까? – wuno

답변

1

예, 그렇게해야합니다. 하지만 위의 코드에 넣을 수도 있습니다.

$title = htmlspecialchars($row['title']); 
$content = htmlspecialchars($row['content']); 
$category = htmlspecialchars($row['category']); 

이 방법처럼 HTML 사이에 사용 된 변수는 짧고 읽을 수있어.

관련 문제