1. Trang chủ
  2. » Giáo án - Bài giảng

hướng dẫn tạo trang tiềm kiếm với php

8 365 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 288,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bảo mật trong PHP• Bảo mật trong PHP phải chú ý đến 3 nguy hiểm chính: – Cross site scripting : Để khắc phục nên dùng các hàm str_replace , strip_tags , htmlspecialchars , htmlentities .

Trang 1

@Thực hành PowerPoint

Thiết kế Bài giảng điện tử

Trang 2

02/02/15 2

Tạo trang tìm kiếm thông tin

<?php

require("condb.php");

if (isset($_POST["submit"])){

$Masv=$_POST['MaSV'];

$sql=mysql_query("select Masv,Tensv from

sinhvien where Masv='".

$Masv."'");

}else{

$sql=mysql_query("select Masv,Tensv from

sinhvien");

}

?>

Trang 3

02/02/15 3

Tạo trang tìm kiếm thông tin

<form action="timkiem.php" method="post">

Mã sinh viên : <input type="text" name="MaSV" />

<input type="submit" value="tìm kiếm" name="submit" />

</form>

<table border=1 cellspacing=0 bordercolor=silver width=340>

<TR bgcolor=silver>

<td align=center>STT</td>

<td align=center>Họ Tên</td>

</tr>

<?php while ($row=mysql_fetch_array($sql)){ ?>

<tr>

<td> <?php echo $row['Masv'];?> </td>

<td> <?php echo $row['Tensv'];?> </td>

</tr>

<?php

}

?>

</table>

Trang 4

Bảo mật trong PHP

• Bảo mật trong PHP phải chú ý đến 3 nguy hiểm chính:

Cross site scripting : Để khắc phục nên dùng các hàm str_replace , strip_tags , htmlspecialchars , htmlentities .vvv để tránh việc gọi hoặc chèn các đoạn mã không mong muốn

SQL injection: Lỗi này chạy yêu cầu thực thi SQL không mong muốn Để chống lại tham khảo nhóm hàm addslashes

Buffer overflow in Mysql : Cái này thường thấy ở PHP site Việt Nam Dữ liệu được đưa vào không kiểm tra khiến ngập lụt, gây quá tải cho server hoặc thừa chồng chéo trong Database Hãy dùng Capcha Image để chống hoặc 1 cách tương tự mà bạn phát triển lên

Trang 5

Test lỗi khi submit

Một số loại dữ liệu khác mà cũng nên thử submit để biết xem trang web có gặp lỗi hay không:

' or

" or

or

1=1 ' or 1=1 'a1=1 '=1=1 'a

" or "a"="a

') or ('a'='a

Trang 6

Cách ngăn chặn

• Sử dụng hàm addslashes dùng để xử lý các biến trước khi đưa vào câu Query sử dụng

• Ví dụ: addslashes ($_POST[‘username’]);

Trang 7

Lỗi các tham số khi liên kết

• Thông thường thì để kiểm tra lỗi SQL injection ở dạng thứ nhất ta thường thêm dấu ‘(dấu nháy) vào phía sau các địa chỉ truyền tham số dạng “user.php?id=”.

• Ví dụ: http://localhost/web/hienthi.php ?masv=sv01’hoặc

Trang 8

Viết hàm khắc phục lỗi

<?php

function quote( $value ) {

if( get_magic_quotes_gpc() ){

$value = stripslashes( $value );

}

//check if this function exists

if( function_exists( "mysql_real_escape_string" ) ){

$value = mysql_real_escape_string( $value ); }

else{

$value = addslashes( $value );

}

return $value;

}

?>

Ngày đăng: 02/02/2015, 23:14

TỪ KHÓA LIÊN QUAN

w