Hướng dẫn is php session stored on server? - phiên php có được lưu trữ trên máy chủ không?

Bài viết này mô tả các phiên PHP là gì và cách thực hiện chúng trong các ứng dụng PHP của bạn.

Về các phiên PHP

HTTP là một giao thức không trạng thái. Nói cách khác, một trang web không duy trì bất kỳ thông tin nào về khách truy cập từ lượt truy cập này đến trang tiếp theo. Đây là một vấn đề nếu bạn muốn theo dõi từng khách truy cập khi họ điều hướng qua một trang web. Ví dụ, một giỏ hàng hoặc ứng dụng ngân hàng trực tuyến là một kịch bản phổ biến mà chức năng này là cần thiết.

Các phiên PHP hoạt động xung quanh các giới hạn không trạng thái của HTTP và cho phép bạn lưu trữ dữ liệu được liên kết với mỗi khách truy cập vào trang web của bạn. Chỉ với một vài dòng mã, trang web của bạn có thể duy trì dữ liệu về khách truy cập khi họ điều hướng trang web của bạn.

Php & nbsp; phiên bắt đầu

Khi bạn bắt đầu một phiên, máy chủ web sẽ tạo một mã định danh phiên xác định duy nhất khách truy cập. Theo mặc định, dữ liệu phiên được lưu trữ trong thư mục của máy chủ /TMP trong các tệp được đặt tên là sess_ theo sau là chuỗi chữ và số duy nhất (định danh phiên).

Để bắt đầu một phiên, hãy sử dụng chức năng PHP & NBSP; session_start (). Vì chức năng PHP & NBSP; session_start () gửi thông tin trong các tiêu đề HTTP, bạn phải gọi chức năng này trước khi trang tạo bất kỳ nội dung nào. Mã mẫu sau đây trình bày cách thực hiện việc này:session_start() function. Because the PHP session_start() function sends information in the HTTP headers, though, you must call this function before the page generates any content. The following sample code demonstrates how to do this:

<?php
    session_start();
?>

<html>
    <head>
        <title>Test page</title>
    </head>
    <body>
        <p>Hello</p>
    </body>
</html>

Chính nó, hàm session_start () không thêm nhiều chức năng vào một trang web. Bạn cần sử dụng các biến phiên PHP để thực sự khai thác tiềm năng của các phiên PHP.session_start() function doesn't add much functionality to a web page. You need to use PHP session variables to really tap into the potential of PHP sessions.

Để biết thêm thông tin về hàm session_start (), vui lòng truy cập http://www.php.net/manual/en/function.session-start.php.session_start() function, please visit http://www.php.net/manual/en/function.session-start.php.

Làm việc với các biến phiên PHP

Mảng liên kết $ _Session cho phép bạn lưu trữ dữ liệu phiên theo các biến. Ví dụ: giả sử bạn muốn thực hiện một bộ đếm hit rất đơn giản cho một trang. Bạn không thể làm điều này với một trang HTML chung chung. Mặc dù vậy, với các phiên PHP, thật dễ dàng. Mẫu mã sau đây cho thấy một cách để làm điều này:$_SESSION associative array allows you to store session data in variables. For example, suppose you want to implement a very simple hit counter for a page. You can't do this with a generic HTML page. With PHP sessions, though, it's easy. The following code sample demonstrates one way to do this:

<?php
    session_start();
    $_SESSION['hits']++;
?>

<html>
    <head>
        <title>Simple page hit counter</title>
    </head>
    <body>
        <p>You have visited this page <?php print $_SESSION['hits'] ?> times.</p>
    </body>
</html>

Trong ví dụ này, chúng tôi xác định một biến có tên là các lượt truy cập được lưu trữ trong mảng $ _Session. Mỗi lần trang được tải, giá trị lượt truy cập tăng thêm một.hits that is stored in the $_SESSION array. Each time the page is loaded, the hits value increases by one.

Thật dễ dàng để thêm các biến phiên PHP bổ sung vào mảng $ _Session. Tất cả những gì bạn phải làm là tham khảo tên biến bạn muốn sử dụng và PHP chăm sóc phần còn lại, theo dõi giá trị của nó trên nhiều kết nối HTTP.$_SESSION array. All you have to do is reference the variable name you want to use, and PHP takes care of the rest, tracking its value across multiple HTTP connections.

Để biết thêm thông tin về mảng $ _Session, vui lòng truy cập http://www.php.net/manual/en/reserved.variables.session.php.$_SESSION array, please visit http://www.php.net/manual/en/reserved.variables.session.php.

Kết thúc một phiên

Để kết thúc một phiên, sử dụng hàm session_destroy (). Hàm này xóa tất cả dữ liệu phía máy chủ cho phiên hiện tại.session_destroy() function. This function deletes all server-side data for the current session.

Ví dụ: việc thêm hàm session_destroy () vào mã mẫu truy cập trang của chúng tôi ở trên sẽ không có nhiều ý nghĩa, bởi vì giá trị của biến số lượt truy cập sẽ bị phá hủy mỗi khi trang được tải. .session_destroy() function to our page counter sample code above wouldn't make much sense, because the value of the hits variable would be destroyed every time the page is loaded. (The page would always display “You have visited this page 1 times” no matter how many times you load it.)

Mặt khác, giả sử trang web của bạn có một ứng dụng giỏ hàng. Người dùng thêm sản phẩm vào giỏ hàng trên một trang, điền thông tin đặt hàng trên một trang khác và cuối cùng kiểm tra. Sau khi người dùng kiểm tra và hoàn thành việc mua hàng, có lẽ bạn muốn làm trống giỏ hàng và đặt lại các biến phiên PHP. Hàm session_destroy () cho phép bạn thực hiện việc này.session_destroy() function enables you to do this.

Để biết thêm thông tin về hàm session_destroy (), vui lòng truy cập http://www.php.net/manual/en/function.session-destroy.php.session_destroy() function, please visit http://www.php.net/manual/en/function.session-destroy.php.

Cài đặt phiên trong Php.ini

Có rất nhiều cài đặt có sẵn trong tệp php.ini cho phép bạn định cấu hình cách thức hoạt động của các phiên trên trang web của bạn. Ví dụ: cài đặt session.cookie_lifetime cho phép bạn kiểm soát thời gian cookie phiên vẫn còn hiệu lực và cài đặt phiên Một tùy chọn quan trọng khác là cài đặt phiên.SAVE_PATH, cho phép bạn chỉ định nơi các tệp lưu trữ PHP (theo mặc định, chúng được lưu trữ trong thư mục của máy chủ /TMP, nhưng bạn có thể thích lưu trữ chúng ở đâu đó trong thư mục của riêng bạn).session.cookie_lifetime setting enables you to control how long a session cookie remains valid, and the session.auto_start setting enables you to start sessions automatically instead of calling the session_start() function explicitly. Another important option is the session.save_path setting, which enables you to specify where PHP stores session files (by default, they are stored in the server's /tmp directory, but you may prefer to store them somewhere in your own directory instead).

Để biết thông tin chi tiết về tất cả các cài đặt phiên có sẵn trong tệp php.ini, vui lòng truy cập http://www.php.net/manual/en/session.configuration.php.

Bảo mật phiên

Có một số cân nhắc bảo mật bạn nên ghi nhớ khi làm việc với các phiên PHP. Ví dụ, bạn phải bảo vệ chống lại các cuộc tấn công tấn công và cố định phiên có thể có.

Để biết thêm thông tin về bảo mật phiên PHP, vui lòng truy cập http://www.php.net/manual/en/session.security.php.

Thêm thông tin

Để xem tài liệu PHP chính thức về các phiên, vui lòng truy cập http://www.php.net/manual/en/book.session.php.

Phiên cửa hàng PHP ở đâu?

Phiên Php Bắt đầu theo mặc định, dữ liệu phiên được lưu trữ trong thư mục của máy chủ /TMP trong các tệp được đặt tên là SESS_ theo sau là chuỗi chữ và số duy nhất (định danh phiên).Chính nó, hàm session_start () không thêm nhiều chức năng vào một trang web.in the server's /tmp directory in files that are named sess_ followed by a unique alphanumeric string (the session identifier). By itself, the session_start() function doesn't add much functionality to a web page.

Phiên có được lưu trữ trong máy chủ không?

Một phiên là một biến toàn cầu được lưu trữ trên máy chủ.Mỗi phiên được gán một ID duy nhất được sử dụng để truy xuất các giá trị được lưu trữ.Bất cứ khi nào một phiên được tạo, cookie chứa ID phiên duy nhất được lưu trữ trên máy tính của người dùng và được trả về mọi yêu cầu cho máy chủ.. Each session is assigned a unique id which is used to retrieve stored values. Whenever a session is created, a cookie containing the unique session id is stored on the user's computer and returned with every request to the server.

Phiên được lưu trữ trên máy khách hoặc máy chủ?

Dữ liệu phiên được lưu trữ trên máy chủ, nhưng nó cũng lưu trữ chuỗi ID trong cookie để xác định người dùng., but it also stores an id string in a cookie to identify the user.

Là máy chủ phiên PHP

Có, dữ liệu phiên chỉ trên máy chủ.Liệu một "siêu hacker" có thể sửa đổi thông tin trên máy chủ hoàn toàn là một vấn đề khác hay không.. Whether a "super hacker" can modify information on the server is another issue altogether.