2010-10-05 19 views
10

Trong trang "brochure" chuẩn, tôi có một hệ thống phụ nơi dữ liệu riêng tư được chuyển qua lại trong một loạt các trang. Trang web được thực hiện và hoạt động ngay bây giờ mà không cần HTTPS.Tôi phải làm gì để sử dụng HTTPS?

Ai đó có thể chỉ cho tôi danh sách các bước mà tôi cần thực hiện để triển khai HTTPS trên phần bảo mật của trang web không?

+0

thể trùng lặp của [Force SSL/https sử dụng .htaccess và mod \ _rewrite] (http://stackoverflow.com/questions/4398951/force-ssl-https-using- htaccess-and-mod-rewrite) – Trilarion

Trả lời

7

Trang web phải được định cấu hình chính nó, điều này không liên quan đến chính php vào thời điểm này.

Trên máy tính cục bộ của bạn, tôi nghĩ bạn sử dụng Apache làm máy chủ web. Vì vậy, đối với Apache, bạn cần cài đặt chứng chỉ, Apache cần phải lắng nghe cổng https (mặc định là 443).

Bạn có thể xem liên kết này, nó có thể giúp bạn: http://www.onlamp.com/pub/a/onlamp/2008/03/04/step-by-step-configuring-ssl-under-apache.html

Ngoài ra, trong tất cả các phần của trang web bạn cần phải sử dụng giao thức https trong url, không http. Ví dụ: https://example.com

+1

cảm ơn liên kết! – sdfor

+0

@sdfor bạn được chào đón :) – Andron

+0

Liên kết bị hỏng ngay bây giờ – bubble

5

Không có thay đổi mã PHP nào liên quan. HTTPS có nghĩa là dữ liệu giao tiếp giữa trình duyệt và máy chủ web sẽ được mã hóa. Trình duyệt đã được thiết lập cho HTTPS, tất cả những gì bạn phải làm là định cấu hình máy chủ web của mình. Có lẽ bạn có thể thực hiện toàn bộ thay đổi từ bảng điều khiển lưu trữ của mình.

Nếu bạn muốn để buộc HTTPS, bạn có thể sử dụng một dòng mod_rewrite đang

+0

Và đối với mã một dòng này, hãy xem ví dụ: http: //stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite – Trilarion

15

Điều duy nhất bạn là một lập trình viên cần làm là kiểm tra xem người sử dụng trong thực tế sử dụng HTTPS:

if($_SERVER['SERVER_PORT'] !== 443 && 
    (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off')) { 
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); 
    exit; 
} 

Sau đó (có sysadmin) của bạn đặt hàng và cài đặt một chứng chỉ SSL trên máy chủ web.

0

Hãy thử điều này:

<?php 
    if ($_SERVER['HTTPS'] != 'on') { 
    echo '<script type="text/javascript">window.location = "https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '";</script>'; 
    } 
?> 
Các vấn đề liên quan