Đăng ký học joomla

Tin tức mới nhất

Thống kê truy cập

Truy cập trong ngày:105
Truy cập hôm qua:367
Tổng số truy cập:630305
Đang online: 16 Khách 

Nếu bạn làm website tương tác 2 chiều giữa user với nhau thì có thể sẽ bị trường

hợp này, đó là XSS(Cross Site Scripting) nôm na là người dùng sẽ nhập các tag đặc biệt.

 

Vidu: <script type="text/javascript" src="/template/adsense/js/swfobject.js"></script>

trong code .js này sẽ thực thi đoạn code gì đó thì có mà chết.

Vậy vấn đề của chúng ta là không cho nhập hoặc hiện thị, hoặc không lưu nó vào csdl.

 

Cách 1: Dùng strip_tags() đặc biệt của function này là sẽ cho phép các tag nào

được sử dụng:

<?php
$text = '<p>Test paragraph.</p><!-- Comment -->
<a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>


Cách 2: Sẽ bỏ các tag nào được liệt kê:

<?php
function strip_only($str, $tags) {
if(!is_array($tags)) {
$tags = (strpos($str, '>') !==
false ? explode('>', str_replace('<', '', $tags)) : array($tags));
if(end($tags) == '') array_pop($tags);
}
foreach($tags as $tag) $str =
preg_replace('#</?'.$tag.'[^>]*>#is', '', $str);
return $str;
}

$str = '<p style="text-align:center">Paragraph</p>
<strong>Bold</strong><br/>
<span style="color:red">Red</span><h1>Header</h1>
<script type="text/javascript"
src="/zend/mvc/public/templates/webadmin/system/js/ddaccordion.js">
</script>';

echo strip_only($str, array('script'));
echo strip_only($str, '<p><h1>');
?>






 

Add comment


Security code
Refresh

thiet ke web chuan w3c

Dịch vụ seo website

seo website