Php 从Ajax请求返回div安全吗?

Php 从Ajax请求返回div安全吗?,php,ajax,Php,Ajax,这是我一直在使用的,但我注意到没有其他人在使用它,这是从ajax请求返回HTML //prepared statement while($stmt->fetch()){ @$row .= '<div class="holder"> <div class="head">'.htmlspecialchars($head).'</div> <div class="title"&g

这是我一直在使用的,但我注意到没有其他人在使用它,这是从ajax请求返回HTML

//prepared statement
while($stmt->fetch()){
   @$row .= '<div class="holder"> 
                 <div class="head">'.htmlspecialchars($head).'</div>
                 <div class="title">'.htmlspecialchars($title).'</div>
                 <div class="body">'.htmlspecialchars($body).'</div>
             </div>';
}
echo json_encode(array('sucLog' => @$row));

我只是想知道我的方法是否是wright,这不是一个真正的安全问题。正如您所看到的,这两种方法都可以使用,但实际上第二种方法更可取,因为它可以确保后端与前端解耦

如果您遵循实码原则,S表示“单一责任”。在您的示例中,这意味着PHP代码应该将重点放在读取和写入原始数据上,并将其留给表示层,以使其看起来像需要的样子—在本例中为HTML

如果您将来决定支持苹果新闻格式、Facebook即时文章等,那么让后端返回纯数据是一件明智的事情,因为您可以创建使用相同基本数据格式的其他渲染器


因此:我建议您从PHP代码中返回纯数据,然后让前端(jQuery、React等)将其转换为HTML。

JSON只需更改前端,就可以在以后对数据进行更多的控制,并将前端和后端很好地分开,这就是显示的典型功能。虽然这个问题太开放,太基于意见,不能让它成为这个网站的一个好问题^^
$json = new stdClass();
$json->head = $head;
$json->title =  $title;
$json->body = $body;
echo json_encode($json);