2011-01-24 25 views
21

Tôi đang tạo bản tải lên để những người tôi biết có thể gửi cho tôi tệp một cách an toàn và dễ dàng. Nhưng tôi muốn thiết kế nó như vậy, khi một trong những người bạn của tôi đăng nhập bằng đăng nhập của họ (nó sẽ đăng nhập .htaccess), tôi có thể thiết lập trong PHP và ghi tệp của họ vào cơ sở dữ liệu được liên kết với tài khoản của họ .Sử dụng PHP để phát hiện người dùng htaccess nào đã đăng nhập?

Tóm lại, tôi cần PHP để có thể phát hiện ai đã đăng nhập để tôi có thể chuyển dữ liệu đó vào cơ sở dữ liệu.

Có cách nào để thực hiện điều đó không?

+2

'print_r ($ _ SERVER) 'hoặc phpinfo (32); Mỗi khi bạn có một câu hỏi tương tự –

Trả lời

24

Bạn sẽ có thể để có được những người sử dụng tên người dùng đăng nhập bằng từ biến $_SERVER['REMOTE_USER'] sau khi họ đã đăng nhập thành công.

+1

Từ hướng dẫn sử dụng PHP: "Theo PHP 4.3.0, để ngăn người khác viết kịch bản tiết lộ mật khẩu cho một trang đã được xác thực thông qua một cơ chế bên ngoài truyền thống, các biến PHP_AUTH sẽ không được đặt nếu xác thực bên ngoài được bật cho trang cụ thể đó và chế độ an toàn được bật. Bất kể, REMOTE_USER có thể được sử dụng để xác định người dùng được xác thực bên ngoài. " Chúng tôi sử dụng '$ _SERVER ['REMOTE_USER']' trên nhiều trang của chúng tôi và nó hoạt động. –

+0

Nó nói nó trên trang chủ trương 'PHP_AUTH_USER'. Tôi đã thêm hai xu của mình về 'REMOTE_USER' làm tùy chọn khác/bao gồm các trường hợp xác thực bên ngoài đặc biệt. Liên kết: http://php.net/manual/en/features.http-auth.php –

+1

Phấn lên sự khác biệt về tài liệu giữa hai trang (vì [trang tài liệu này không có nó] (http: // php.net/manual/en/reserved.variables.server.php)) ... – ircmaxell

7

Bạn muốn $_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW'] để lấy tên người dùng và mật khẩu, giả sử bạn có nghĩa là thông tin đăng nhập "xác thực cơ bản" thông thường, được thực hiện bởi các cài đặt Require valid-user bằng .htaccess.

biết thêm chi tiết here.

2

Bạn có thể đọc nó từ $_SERVER['PHP_AUTH_USER']

1

Tôi nghĩ rằng các biến sau cung cấp cho bạn những thông tin derise:

PHP_AUTH_USER: Khi thực hiện chứng thực HTTP biến này được thiết lập để tên người dùng được cung cấp bởi người dùng.

PHP_AUTH_PW: Khi thực hiện xác thực HTTP, biến này được đặt thành mật khẩu do người dùng cung cấp.

echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>"; 
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>"; 
5

Cái gì mà làm việc cho tôi:

$_SERVER['REDIRECT_REMOTE_USER'] 

Vui lòng thử trên. Nói chung, người ta có thể làm "print_r($_SERVER)" và tìm ra thông số đang tìm kiếm.

0

Không để mở ra một nhiệm vụ cũ, nhưng chạy PHP 5 với Apache 2.2 và đây là biến mà làm việc cho tôi:

$_SERVER['USER']; 
Các vấn đề liên quan