ITbaby
03-03-2004, 03:20
Bảo vệ băng thông của bạn trong PHP
Đánh cắp băng thông là một vấn đề khó chịu với nhiều webmaster. Nếu bạn có một hình trên site của bạn, bất cứ ai cũng có thể đặt hình đó trên site của họ bằng một đường link đến hình đó trong site của bạn, làm nó như trên site của họ. Bằng cách đó họ đã ăn cắp băng thông của bạn. Băng thông của bạn bị đánh cắp mà bạn không được hưởng một tý quyền lợi nào cả.
Apache có giải pháp cho vấn đề này sử dụng mod_rewrite. Đầu tiên đặt một hình vào trong một thư mục, không một ai có thể vào được từ một web browser. Ý tưởng là nên đặt ở ngoài thư mục gốc của website, nếu không thể làm được như vậy, bạn có thể đặt trong một thư mục trong webroot và đặt một tập tin .htaccess trong đó, có nội dung như sau:
<Limit>
order deny,allow
deny from all
</Limit>
Bây giờ dùng một php script để kết nối đến tập tin
<?php
// image.php
// <img src=``image.php?filename=pinkgoblin.gif``>
session_start();
$path=``./images/``; // Đường dẫn đến thư mục bảo vệ của bạn
$mimetype=``image/gif``; // Loại tập tin
if ( $_SESSION[``ticket``] == ``admitone`` ) {
Header(``Content-type: ``);
readfile ( $path . $filename );
}
?>
Chúng ta dùng dùng session của PHP để bảo vệ file. Đoạn script sẽ chỉ hiển thị file nếu $_SESSION[``ticket``] được set ``admitone`` (Nếu bạn sử dụng PHP < 4.1.0 bạn có thể sử dụng $HTTP_SESSION_VARS[``ticket``])
Bây giờ trong trang ta muốn hình ảnh được hiển thị, đầu tiên chúng ta đăng ký giá trị session $ticket trước khi hiển thị hình
<?php
session_start();
$ticket = ``admitone``;
session_register($_SESSION[``ticket``]);
?>
<!DOCTYPE HTML PUBLIC ``-//W3C//DTD HTML 4.0 Transitional//EN``>
<html>
<head>
<title>Bandwidth Protected</title>
</head>
<body>
<p>This image has been protected.</p>
<img src=``image.php?filename=pinkgoblin.gif``>
</body>
</html>
Bạn có thể sử dung cho tất cả các loại tập tin.
cái này copyleft trên mạng đó :lick: :lick:
Đánh cắp băng thông là một vấn đề khó chịu với nhiều webmaster. Nếu bạn có một hình trên site của bạn, bất cứ ai cũng có thể đặt hình đó trên site của họ bằng một đường link đến hình đó trong site của bạn, làm nó như trên site của họ. Bằng cách đó họ đã ăn cắp băng thông của bạn. Băng thông của bạn bị đánh cắp mà bạn không được hưởng một tý quyền lợi nào cả.
Apache có giải pháp cho vấn đề này sử dụng mod_rewrite. Đầu tiên đặt một hình vào trong một thư mục, không một ai có thể vào được từ một web browser. Ý tưởng là nên đặt ở ngoài thư mục gốc của website, nếu không thể làm được như vậy, bạn có thể đặt trong một thư mục trong webroot và đặt một tập tin .htaccess trong đó, có nội dung như sau:
<Limit>
order deny,allow
deny from all
</Limit>
Bây giờ dùng một php script để kết nối đến tập tin
<?php
// image.php
// <img src=``image.php?filename=pinkgoblin.gif``>
session_start();
$path=``./images/``; // Đường dẫn đến thư mục bảo vệ của bạn
$mimetype=``image/gif``; // Loại tập tin
if ( $_SESSION[``ticket``] == ``admitone`` ) {
Header(``Content-type: ``);
readfile ( $path . $filename );
}
?>
Chúng ta dùng dùng session của PHP để bảo vệ file. Đoạn script sẽ chỉ hiển thị file nếu $_SESSION[``ticket``] được set ``admitone`` (Nếu bạn sử dụng PHP < 4.1.0 bạn có thể sử dụng $HTTP_SESSION_VARS[``ticket``])
Bây giờ trong trang ta muốn hình ảnh được hiển thị, đầu tiên chúng ta đăng ký giá trị session $ticket trước khi hiển thị hình
<?php
session_start();
$ticket = ``admitone``;
session_register($_SESSION[``ticket``]);
?>
<!DOCTYPE HTML PUBLIC ``-//W3C//DTD HTML 4.0 Transitional//EN``>
<html>
<head>
<title>Bandwidth Protected</title>
</head>
<body>
<p>This image has been protected.</p>
<img src=``image.php?filename=pinkgoblin.gif``>
</body>
</html>
Bạn có thể sử dung cho tất cả các loại tập tin.
cái này copyleft trên mạng đó :lick: :lick: