Rumah > Artikel > pembangunan bahagian belakang > Mesti dibaca untuk pembangun PHP: Cara menyembunyikan antara muka pangkalan data yang tidak diperlukan dengan berkesan
Mesti dibaca untuk pembangun PHP: Cara menyembunyikan antara muka pangkalan data yang tidak diperlukan dengan berkesan
Dengan perkembangan teknologi Internet, PHP, sebagai bahasa pembangunan bahagian belakang yang digunakan secara meluas, sudah biasa kepada lebih ramai pembangun. Apabila menggunakan PHP untuk operasi pangkalan data, cara menyembunyikan antara muka pangkalan data yang tidak perlu dengan berkesan telah menjadi isu penting yang perlu diberi perhatian oleh pembangun. Artikel ini akan memperkenalkan pembangun PHP cara menyembunyikan antara muka pangkalan data yang tidak diperlukan dengan berkesan melalui beberapa teknik dan kaedah, dan menyediakan contoh kod khusus untuk membantu pembangun melindungi keselamatan pangkalan data dengan lebih baik.
Dalam pembangunan PHP, pangkalan data biasanya digunakan untuk penyimpanan dan operasi data, dan maklumat yang berkaitan dengan sambungan pangkalan data biasanya disimpan dalam fail konfigurasi. Walau bagaimanapun, secara langsung mendedahkan maklumat sambungan pangkalan data dalam kod dengan mudah boleh dieksploitasi oleh penjenayah, yang boleh membawa kepada masalah seperti serangan pangkalan data dan kebocoran maklumat. Oleh itu, adalah penting untuk menyembunyikan antara muka pangkalan data yang tidak diingini dengan berkesan.
Pertama, kita boleh menggunakan pembolehubah persekitaran untuk menyimpan maklumat sambungan pangkalan data tanpa mendedahkannya terus dalam kod. Selepas menetapkan pembolehubah persekitaran pada pelayan, gunakan fungsi getenv()
dalam kod PHP untuk mendapatkan maklumat sambungan pangkalan data yang sepadan, yang boleh menyembunyikan antara muka pangkalan data dengan berkesan. getenv()
函数来获取相应的数据库连接信息,这样可以有效隐藏数据库接口。
$host = getenv('DB_HOST'); $username = getenv('DB_USERNAME'); $password = getenv('DB_PASSWORD'); $database = getenv('DB_DATABASE'); // 使用获取到的连接信息连接数据库 $conn = new mysqli($host, $username, $password, $database);
另一种常见的方法是将数据库连接相关信息存储在配置文件中,然后通过include
或require
函数引入配置文件。在配置文件中定义数据库连接信息后,在PHP代码中直接调用即可,避免了将敏感信息直接暴露在代码中。
config.php
<?php return [ 'host' => 'localhost', 'username' => 'root', 'password' => 'password', 'database' => 'dbname' ];Kaedah 2: Gunakan fail konfigurasiSatu lagi kaedah biasa ialah menyimpan maklumat berkaitan sambungan pangkalan data dalam fail konfigurasi, dan kemudian memperkenalkannya melalui fungsi
include
atau require
fail konfigurasi. Selepas mentakrifkan maklumat sambungan pangkalan data dalam fail konfigurasi, anda boleh memanggilnya terus dalam kod PHP untuk mengelak daripada mendedahkan maklumat sensitif secara langsung dalam kod.
config.php
Contoh fail konfigurasi: $config = include 'config.php'; $host = $config['host']; $username = $config['username']; $password = $config['password']; $database = $config['database']; // 使用获取到的连接信息连接数据库 $conn = new mysqli($host, $username, $password, $database);Perkenalkan fail konfigurasi ke dalam kod PHP dan gunakan maklumat sambungan pangkalan data:
class Database { private $host = 'localhost'; private $username = 'root'; private $password = 'password'; private $database = 'dbname'; public function getConnection() { $conn = new mysqli($this->host, $this->username, $this->password, $this->database); return $conn; } } // 使用类封装的方式获取数据库连接 $db = new Database(); $conn = $db->getConnection();
Atas ialah kandungan terperinci Mesti dibaca untuk pembangun PHP: Cara menyembunyikan antara muka pangkalan data yang tidak diperlukan dengan berkesan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!