Tải bản đầy đủ (.ppt) (8 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (140.82 KB, 8 trang )

1
@Thực hành PowerPoint
@Thực hành PowerPoint
Thiết kế Bài giảng điện tử
02/02/15 2
Tạo trang tìm kiếm thông tin
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");
}
?>
02/02/15 3
Tạo trang tìm kiếm thông tin
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>
Bảo mật trong PHP
Bảo mật trong PHP

Bảo mật trong PHP phải chú ý đến 3 nguy hiểm chính:
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
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 1=1
" or 1=1
or 1=1
' or 'a'='a
" or "a"="a
') or ('a'='a
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’]);
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
http://localhost/web/hienthi.php? masv=’
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;
}
?>

×