Làm cách nào để chèn địa chỉ IP trong MySQL?

Xin chào, tôi đã tạo một biểu mẫu rất cơ bản để chèn thông tin người dùng vào bảng MySql. Tôi hiện đang cố gắng làm cho nó chèn IP của người dùng vào cột IP trong bảng

 

Đây là mã của tôi

 

Cảm ơn sự giúp đỡ của bạn

Liên kết để bình luận
Chia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Làm cách nào để chèn địa chỉ IP trong MySQL?

dougjohnson

Đăng ngày 16 tháng 6 năm 2011

dougjohnson

  • Làm cách nào để chèn địa chỉ IP trong MySQL?

  • Các thành viên
    • 98
  • Địa điểm. Wichita, KS

    • Đăng lại

Đăng ngày 16 tháng 6 năm 2011

$ipaddress = $_SERVER['REMOTE_ADDR'];

 

Ngoài ra, bạn có thể muốn băm mật khẩu trước khi chèn nó vào db

Liên kết để bình luận
Chia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Làm cách nào để chèn địa chỉ IP trong MySQL?

redixx

Đăng ngày 16 tháng 6 năm 2011

redixx

  • Làm cách nào để chèn địa chỉ IP trong MySQL?

  • Các thành viên
    • 146

    • Đăng lại

Đăng ngày 16 tháng 6 năm 2011

$_SERVER siêu toàn cầu có thể cung cấp cho bạn địa chỉ IP của người dùng

 

$query="INSERT INTO Users (Username, Password, IP)VALUES('".$Username."', '".$Password."', $_SERVER['REMOTE_ADDR'])";

 

CHỈNH SỬA. Nhân tiện, tập lệnh của bạn có nguy cơ bị SQL injection cao. Bạn không thể kết xuất trực tiếp đầu vào của người dùng vào cơ sở dữ liệu của mình, trước tiên bạn cần làm sạch nó

 

Ít nhất, hãy làm

 

$Username = mysql_real_escape_string($_POST['Username']);
$Password = mysql_real_escape_string($_POST['Password']);

 

Cũng như dougjohnson đã nói, bạn không bao giờ nên lưu trữ mật khẩu dưới dạng văn bản gốc. Sử dụng thuật toán băm một chiều, ít nhất là sha1()

Do đó, cho phép kết nối từ xa đến cơ sở dữ liệu MySQL của bạn từ một địa chỉ IP cụ thể là quy trình gồm ba bước

Trước tiên, chúng ta sẽ cần thiết lập dịch vụ MySQL để có thể truy cập được từ các máy từ xa bằng cách định cấu hình địa chỉ liên kết công khai trong tệp cấu hình MySQL

Thứ hai, chúng tôi sẽ cần cho phép truy cập từ xa thông qua tường lửa hệ thống của mình. Theo mặc định, MySQL chạy trên cổng 3306, vì vậy các kết nối đến cổng này sẽ cần được phép thông qua và không có vấn đề gì khi chỉ cho phép các kết nối đó từ các địa chỉ IP mà chúng tôi chỉ định

Thứ ba, chúng tôi sẽ cần tạo một người dùng mới hoặc chỉnh sửa một người dùng hiện có để làm cho nó có thể truy cập được từ một địa chỉ IP cụ thể

Định cấu hình địa chỉ liên kết MySQL

  1. Chúng tôi sẽ bắt đầu bằng cách mở tệp
    [mysqld]
    bind-address = 10.1.1.1
    
    5. Với quyền root, hãy mở cái này bằng nano hoặc trình soạn thảo văn bản yêu thích của bạn.
    $ sudo nano /etc/mysql/mysql.cnf
    
  2. Tìm cài đặt có nội dung
    [mysqld]
    bind-address = 10.1.1.1
    
    6 bên dưới phần
    [mysqld]
    bind-address = 10.1.1.1
    
    7. Theo mặc định, địa chỉ này hiện sẽ được cấu hình thành địa chỉ loopback
    [mysqld]
    bind-address = 10.1.1.1
    
    4. Xóa địa chỉ đó và đặt địa chỉ IP công cộng của máy chủ của bạn vào vị trí của nó. Chúng tôi sẽ chỉ sử dụng
    [mysqld]
    bind-address = 10.1.1.1
    
    9 vì lợi ích của ví dụ.
    [mysqld]
    bind-address = 10.1.1.1
    

    Nếu muốn, thay vào đó, bạn có thể sử dụng

    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    10 làm địa chỉ liên kết của mình, đây là ký tự đại diện và sẽ liên kết dịch vụ với tất cả các giao diện có thể truy cập. Điều này không được khuyến nghị, nhưng có thể tốt cho việc khắc phục sự cố nếu bạn gặp sự cố sau này

    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    1
  3. Sau khi bạn đã thực hiện thay đổi đó, hãy lưu các thay đổi của bạn vào tệp và thoát khỏi tệp. Sau đó, bạn sẽ cần khởi động lại dịch vụ MySQL để các thay đổi có hiệu lực.
    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    3

    Trên một số distro, dịch vụ có thể được gọi là

    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    11 thay thế

    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    5

Cho phép truy cập từ xa thông qua tường lửa

Giả sử bạn đang sử dụng cổng 3306 cho máy chủ MySQL của mình, chúng tôi sẽ cần cho phép điều này thông qua tường lửa hệ thống. Lệnh bạn cần thực thi sẽ phụ thuộc vào bản phân phối bạn đang sử dụng. Tham khảo danh sách bên dưới hoặc điều chỉnh lệnh nếu cần để tuân thủ cú pháp tường lửa của hệ thống của riêng bạn

Trong các ví dụ bên dưới, chúng tôi đang cho phép truy cập từ xa từ địa chỉ IP

$ipaddress = $_SERVER['REMOTE_ADDR'];

12. Chỉ cần thả địa chỉ IP của riêng bạn vào vị trí mà bạn muốn cho phép truy cập từ xa

Trên các hệ thống Ubuntu và các hệ thống khác sử dụng ufw (tường lửa không phức tạp)

$ipaddress = $_SERVER['REMOTE_ADDR'];

7

Trên Red Hat, CentOS, Fedora và các hệ thống phái sinh sử dụng tường lửa

$ipaddress = $_SERVER['REMOTE_ADDR'];

8

Và lệnh

$ipaddress = $_SERVER['REMOTE_ADDR'];

13 cũ tốt sẽ hoạt động trên mọi hệ thống

$query="INSERT INTO Users (Username, Password, IP)VALUES('".$Username."', '".$Password."', $_SERVER['REMOTE_ADDR'])";
0

Cho phép kết nối từ xa tới một người dùng cụ thể từ một IP cụ thể

Giờ đây, dịch vụ MySQL có thể chấp nhận các kết nối đến và tường lửa của chúng tôi sẽ cho phép một IP cụ thể đi qua, chúng tôi chỉ cần định cấu hình người dùng của mình để chấp nhận các kết nối từ xa từ IP đó

  1. Bắt đầu bằng cách mở MySQL bằng tài khoản root.


    ______21

    Hoặc, trên một số cấu hình, bạn có thể được yêu cầu nhập lệnh sau và cung cấp mật khẩu gốc của mình

    $query="INSERT INTO Users (Username, Password, IP)VALUES('".$Username."', '".$Password."', $_SERVER['REMOTE_ADDR'])";
    2
  2. Nếu bạn đã tạo một người dùng và bạn cần định cấu hình người dùng đó để có thể truy cập được từ một địa chỉ IP từ xa, chúng ta có thể sử dụng lệnh MySQL
    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    14. Chúng tôi sẽ làm cho người dùng
    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    15 của chúng tôi có thể truy cập được từ địa chỉ IP
    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    12 trong lệnh mẫu bên dưới, nhưng điều chỉnh điều này nếu cần cho cấu hình của riêng bạn.
    [mysqld]
    bind-address = 10.1.1.1
    
    0

    Hoặc, nếu bạn tạo người dùng này lần đầu tiên, chúng tôi sẽ sử dụng lệnh

    $ipaddress = $_SERVER['REMOTE_ADDR'];
    
    
    17. Đảm bảo thay thế tên người dùng, địa chỉ IP và mật khẩu sau bằng của riêng bạn

    [mysqld]
    bind-address = 10.1.1.1
    
    1

Thats tất cả để có nó. Sau khi cấp cho người dùng của bạn quyền truy cập vào một hoặc nhiều cơ sở dữ liệu, bạn sẽ có thể sử dụng thông tin đăng nhập tài khoản để truy cập cơ sở dữ liệu từ xa từ IP mà bạn đã chỉ định

Làm cách nào để lưu trữ địa chỉ IP trong MySQL?

Chúng tôi có thể lưu trữ địa chỉ IP với sự trợ giúp của INT không dấu . Trong khi sử dụng INSERT, hãy thêm INET_ATON() và với SELECT, hãy thêm INET_NTOA().

Làm cách nào để chèn địa chỉ IP vào MySQL bằng PHP?

Tạo một cột trong MySQL để lưu địa chỉ ip. Lấy địa chỉ IP của khách hàng. Lưu trữ IP trong cơ sở dữ liệu. $ip = getip(); . " .

Làm cách nào để truy cập cơ sở dữ liệu MySQL bằng địa chỉ IP?

Thêm địa chỉ IP để cho phép kết nối MySQL từ xa .
Đăng nhập vào cPanel
Nhấp vào nút Remote MySQL trong phần Cơ sở dữ liệu
Nhập địa chỉ IP từ xa vào phần Add Access Host
Nhấp vào nút Thêm máy chủ. Sau đó, bạn sẽ thấy một thông báo cho biết địa chỉ IP máy chủ đã được thêm vào danh sách truy cập

Địa chỉ IP của MySQL là gì?

Theo mặc định, mọi máy chủ MySQL đều lắng nghe địa chỉ IP cục bộ 127. 0. 0. 1 , mọi máy chủ MariaDB đều chấp nhận mọi kết nối (i. e. nó nghe 0. 0. 0. 0).