Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara membuat skrip login yang aman di PHP dan MySQL

Adalah impian setiap pengembang untuk membuat atau mengerjakan halaman web atau proyek web yang menjanjikan fitur keamanan terbaik dan memenuhi setiap masalah privasi pengguna. Namun, sebelum Anda dapat membuat dan menghosting situs web di server, Anda harus mematuhi praktik pengkodean terbaik.

Hanya karena Anda ingin membuat halaman web yang aman tidak berarti bahwa kode Anda hanya dapat dimengerti oleh mata ilmuwan roket. Kesederhanaan adalah kunci dalam mengembangkan kode yang mengagumkan.

Kode sederhana bukanlah kode yang lemah tetapi kode yang dapat dimengerti. Kesederhanaan berlaku untuk pemfaktoran ulang kode dan penggunaan komentar yang berkelanjutan. Selain itu, ini membantu Anda mengukur dan mengedit kode Anda nanti saat Anda perlu menggunakannya kembali di proyek lain. Karena artikel ini berusaha memberi Anda panduan tentang cara membuat halaman login yang aman di PHP dan MySQL, pertama-tama kita perlu mempertimbangkan manfaat dari pendekatan ini.

Membuat skrip login yang aman di PHP dan MySQL

Pertama, karena halaman login Anda akan memberikan akses istimewa ke informasi yang disimpan pengguna, Anda harus menjauhkan pencuri dan peretas dunia maya agar tidak mudah mengompromikan sistem Anda dan lolos dengan data sensitif. Kedua, tanpa platform web yang aman, infrastruktur TI seperti jaringan dan situs web berisiko terkena serangan Cybersecurity dan malware.

Memulai

Dalam tutorial artikel ini, kami berasumsi bahwa Anda memerlukan halaman login yang aman karena dua alasan. Pertama, Anda dapat bekerja pada sistem web khusus di mana Anda memerlukan akses admin ke data atau informasi yang disimpan secara sensitif. Kedua, sistem web Anda dapat mengakomodasi pengguna atau pengunjung tertentu yang akan diberikan kredensial masuk yang diperlukan sebelum mereka dapat masuk ke area dasbor sistem web Anda.

Aspek terpenting dari tutorial artikel ini adalah lingkungan server web kami. Kami membutuhkannya karena sistem web kami akan menggunakan database MySQL untuk meminta pengguna aktif dan memberi mereka akses otoritatif ke sistem web yang dibuat.

Persyaratan

XAMPP adalah lingkungan server web lokal yang ideal untuk menguji proyek berbasis web Anda di mesin lokal. Ini memberi Anda perspektif kinerja situs web sebelum meluncurkannya di lingkungan produksi. XAMPP tersedia untuk pengguna Windows, Linux, dan OS X, menjadikannya lingkungan server web lintas platform. Selain itu, XAMPP menyingkat Apache, MariaDB (cabang dari MySQL), PHP, dan Perl, menjadikannya lingkungan pengembangan PHP yang lengkap.

Setelah Anda menginstal XAMPP, Anda tidak perlu menginstal perangkat lunak pihak ketiga lainnya untuk menjalankan proyek PHP Anda.

Instalasi XAMPP Linux

Unduhan file XAMPP Anda akan memiliki ekstensi ".run". Langkah pertama adalah membuatnya dapat dieksekusi. Buka terminal Anda di lokasi file XAMPP yang Anda unduh dan pertimbangkan pendekatan berikut. Pastikan nama file XAMPP yang Anda masukkan sama dengan yang Anda unduh.

$ chmod 755 xampp-linux-x64-8.0.7-0-installer.run

Setelah itu, Anda seharusnya dapat meluncurkan penginstal XAMPP dengan perintah berikut.

$ sudo ./xampp-linux-x64-8.0.7-0-installer.run

Ikuti langkah-langkah penginstalan hingga XAMPP terinstal sepenuhnya di komputer Anda.

Pastikan kotak di atas dicentang agar aman.

Instalasi akan memakan waktu beberapa saat untuk menyelesaikannya

Meluncurkan XAMPP dari terminal Ubuntu Anda memerlukan penggunaan perintah berikut.

$ sudo /opt/lampp/lampp start

Output seperti screenshot berikut berarti semuanya baik-baik saja.

Jika Anda mengalami kesalahan saat meluncurkan XAMPP, mungkin ada tiga solusi diagnostik untuk masalah tersebut. Pertama, Anda mungkin telah menginstal Apache dan XAMPP secara bersamaan. Anda dapat mengatasi masalah ini dengan menghentikan layanan Apache dari terminal dan memulai ulang XAMPP karena Apache sudah dibundel sebagai salah satu paketnya.

$ sudo /etc/init.d/apache2 stop
$ sudo /opt/lampp/lampp start

Server NGINX yang diinstal juga dapat menggunakan port 80 mesin Anda yang dibutuhkan oleh Apache XAMPP. Oleh karena itu, Anda harus menghentikan NGINX dan memulai ulang XAMPP.

$ sudo systemctl stop nginx
$ sudo /opt/lampp/lampp start

Anda juga bisa memiliki server MySQL yang diinstal secara bersamaan dengan XAMPP. Server XAMPP sudah dibundel dengan paket MySQL. Anda harus menghentikan yang berjalan di sistem Anda.

$ sudo /etc/init.d/mysql stop
$ sudo /opt/lampp/lampp start

Masalah terakhir adalah Anda mungkin kehilangan alat netstat di sistem Anda. Anda dapat menginstalnya dengan perintah berikut.

$ sudo apt install net-tools

Untuk memverifikasi keberhasilan instalasi XAMPP pada sistem Anda, Anda harus dapat mengakses URL berikut dari browser Anda dengan nyaman.

http://localhost/dashboard/

Laman landas harus menyerupai tangkapan layar berikut.

Anda juga harus dapat mengakses halaman arahan phpMyAdmin dengan nyaman.

http://localhost/phpmyadmin

Tangkapan layar berikut memverifikasi bahwa phpMyAdmin berfungsi dengan baik.

Tujuan tutorial kami

Setelah Anda mengunduh dan menginstal versi XAMPP yang mendukung platform OS Anda, kami perlu menyoroti tujuan utama artikel ini.

Pada akhir artikel tutorial ini, Anda akan memahami empat konsep utama berikut di balik pembuatan halaman login yang aman di PHP dan MySQL.

  • Desain formulir:Di sini, Anda perlu menjelajahi beberapa modul HTML5 dan CSS3

  • Mempersiapkan kueri SQL:Kueri SQL yang Anda buat harus antipeluru terhadap injeksi SQL. Ini adalah satu-satunya cara untuk menjaga integritas database MySQL Anda.

  • Validasi formulir dasar:Nama pengguna dan kata sandi pengguna harus cocok dengan yang disimpan dalam database agar tidak menjadi kredensial yang valid.

  • Manajemen sesi:Sesi bagus karena sistem harus mengingat pengguna berulang tanpa mereka harus memasukkan kredensial login mereka setiap kali mereka mengunjungi situs. Anda akan dapat menginisialisasi sesi dan membuatnya tetap aktif.

Struktur dan penyiapan proyek

Karena kita sekarang yakin bahwa server web Apache dan server database MySQL berjalan, langkah selanjutnya adalah membuat kode PHP kita. Tapi, pertama-tama, kita perlu membiasakan diri dengan panel kontrolnya. Ketika instalasi XAMPP Anda selesai, itu diluncurkan dengan panel kontrol yang terlihat seperti gambar di bawah.

Jika Anda mengklik menu “Manage Servers” di header-nya, Anda akan melihat tiga server berjalan (Apache, MySQL, dan ProFTPD). Ketiga server ini harus berjalan. Artinya server XAMPP dalam keadaan sehat.

Klik menu “Open Application Folder” pada control panel XAMPP ini dan telusuri direktori bernama “htdocs”. Selanjutnya, buat folder dengan nama seperti “fosslinux_login” di dalam direktori ini. Ini akan menjadi titik akses utama proyek kami. Di dalam folder “fosslinux_login” ini, buat file berikut dan pertimbangkan ekstensi filenya masing-masing.

\ -- Project files structure

| -- authenticate.php

| -- home.php

| --

| -- logout.php

| -- style.css

Cara termudah untuk mencapai tugas pembuatan file ini adalah dengan menavigasi ke antarmuka grafis folder "fosslinux_login" dan membuka terminal sistem dari lokasinya, dan kemudian menggunakan perintah "sentuh" ​​untuk membuat file yang disebutkan. Misalnya, untuk membuat file index.html, Anda akan menggunakan pendekatan perintah sentuh berikut.

root@FOSSlinux:/opt/lampp/htdocs/fosslinux_login# touch index.html

File index.html yang dibuat terutama akan menggunakan bahasa pemrograman HTML5 dan CSS3 untuk membuat formulir login untuk memasukkan nama pengguna dan kata sandi yang dibutuhkan.

File style.css yang dibuat akan bertindak sebagai skrip CSS eksternal yang direferensikan oleh header file index.html.

File authenticate.php yang dibuat akan menangani otentikasi pengguna, koneksi database, validasi data formulir, pengambilan hasil database, dan pembuatan sesi baru.

File logout.php yang dibuat akan menangani penghancuran sesi login sebelum mengarahkan pengguna ke layar login lagi.

File home.php yang dibuat merupakan halaman tujuan atau landing bagi pengguna yang berhasil login ke sistem web.

File profile.php yang dibuat mengaitkan pengguna yang berhasil masuk dengan detail akun pengguna yang telah diisi dan dipersonalisasi.

Desain formulir login kami

Agar skrip PHP dan MySQL loin kami berfungsi, kami perlu membuat formulir login dari mana pengguna yang diautentikasi akan memasukkan informasi login mereka. Jadi, kami membuat bagian depan halaman login kami. Kami hanya membutuhkan CSS dan HTLM untuk tugas ini. Kami akan menggunakan PHP untuk bagian logis dari skrip kami.
Anda dapat menggunakan editor nano atau editor lain pilihan Anda untuk membuka file index.html yang Anda buat sebelumnya.

root@FOSSlinux:/opt/lampp/htdocs/fosslinux_login# nano index.html

Isi file dengan segmen kode berikut.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>FossLinux Login Tutorial</title>
		<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css">
	</head>
	<body>
		<div class="login">
			<h1>FossLinux Login Tutorial</h1>
			<form action="authenticate.php" method="post">
				<label for="username">
					<i class="fas fa-user"></i>
				</label>
				<input type="text" name="username" placeholder="Username" id="username" required>
				<label for="password">
					<i class="fas fa-lock"></i>
				</label>
				<input type="password" name="password" placeholder="Password" id="password" required>
				<input type="submit" value="Login">
			</form>
		</div>
	</body>
</html>

Kita sekarang perlu melihat pratinjau tampilan yang dihasilkan dari kode ini. Di browser Anda, masukkan alamat berikut.

 
http://localhost/fosslinux_login


Tampilan yang dihasilkan harus seperti screenshot berikut.


Karena tampilan di atas adalah tampilan dasar, kita perlu menambahkan beberapa gaya pada form login kita melalui CSS. Jadi, pertama, buka file style.css yang Anda buat sebelumnya dengan editor terminal favorit Anda.


root@FOSSlinux:/opt/lampp/htdocs/fosslinux_login# nano style.css

Isi dengan segmen kode CSS berikut.

* {
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
font-size: 16px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
background-color: #435165;
}
.login {
width: 400px;
background-color: #ffffff;
box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.3);
margin: 100px auto;
}
.login h1 {
text-align: center;
color: #5b6574;
font-size: 24px;
padding: 20px 0 20px 0;
border-bottom: 1px solid #dee0e4;
}
.login form {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding-top: 20px;
}
.login form label {
display: flex;
justify-content: center;
align-items: center;
width: 50px;
height: 50px;
background-color: #3274d6;
color: #ffffff;
}
.login form input[type="password"], .login form input[type="text"] {
width: 310px;
height: 50px;
border: 1px solid #dee0e4;
margin-bottom: 20px;
padding: 0 15px;
}
.login form input[type="submit"] {
width: 100%;
padding: 15px;
margin-top: 20px;
background-color: #3274d6;
border: 0;
cursor: pointer;
font-weight: bold;
color: #ffffff;
transition: background-color 0.2s;
}
.login form input[type="submit"]:hover {
background-color: #2868c7;
transition: background-color 0.2s;
}

Kita perlu menautkan file style.css ini ke file index.html kita untuk menyaksikan perubahan penting. Tambahkan yang berikut ini ke header file index.html Anda.

<link href="style.css" rel="stylesheet" type="text/css">

Tag di atas harus berada di antara tag dan pada file index.html Anda.

Jika Anda me-refresh halaman tampilan login, Anda akan mendapatkan preview form login yang lebih menarik, seperti yang digambarkan oleh screenshot berikut.

Sekarang mari kita coba memahami apa yang kita lakukan pada form login kita. Bentuk memiliki dua atribut, "tindakan" dan "metode". Atribut “method” disetel ke “post” karena kita akan memasukkan data pengguna ke dalam sistem server dan tidak menerima karena itu akan membutuhkan atribut “method” yang disetel ke “get”. Atribut "action" diatur ke "authenticate.php" karena itu adalah file yang menangani otentikasi data pengguna yang dimasukkan. Ini adalah file yang memproses input data formulir yang berhasil.

Sedangkan untuk kolom formulir, jenis inputnya adalah “teks” untuk nama pengguna dan “kata sandi” untuk kata sandi pengguna. Input "teks" akan terlihat oleh mata manusia, tidak seperti input "kata sandi" yang seharusnya dienkripsi selama input pengguna. Jenis input "kirim" adalah tindakan terakhir untuk mengirim data pengguna yang diambil untuk diproses oleh file "authenticate.php".

Menyiapkan database dan tabel yang dibutuhkan

Di sini, Anda perlu menavigasi ke tautan "http://localhost/phpmyadmin/" untuk mengakses database MySQL. Antarmuka phpMyAdmin yang dihasilkan memiliki peran utama dalam mengelola aplikasi database MySQL.

Di bagian atas antarmuka ini, Anda akan melihat tab "Database". Klik untuk membuat database baru. Beri nama seperti "fosslinuxlogin".

Setelah Anda mengklik “buat”, database baru (fosslinuxlogin) akan muncul di bagian/panel menu kiri layar. Tugas bersih Anda adalah membuat tabel yang diperlukan untuk database Anda. Kami hanya membutuhkan satu tabel untuk artikel tutorial ini.

Untuk membuat dan mengisi tabel dengan phpMyAdmin, Anda memiliki opsi untuk melakukannya secara grafis atau menggunakan tampilan konsol di bagian bawah tampilan antarmukanya. Menggunakan konsol jauh lebih efisien karena kita hanya perlu membuat satu pernyataan SQL untuk membuat dan mengisi seluruh tabel. Sebagai contoh, perhatikan pernyataan kode SQL berikut.

CREATE TABLE IF NOT EXISTS `accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

INSERT INTO `accounts` (`id`, `username`, `password`, `email`) VALUES (1, 'Brandon', '[email protected]', '[email protected]');

Seperti yang digambarkan oleh tangkapan layar di bawah, setelah Anda menekan Ctrl+Enter pada keyboard Anda, pernyataan SQL akan dijalankan, dan tabel database Anda akan terisi.

Kami telah membuat database akun dengan empat kolom (id, nama pengguna, kata sandi, dan email). Kami juga telah menetapkan kolom tabel ini beberapa nilai default, tetapi kami terutama membutuhkan nilai nama pengguna dan kata sandi untuk menguji skrip login PHP.

Otentikasi pengguna

Pada keadaannya, kami telah membuat formulir login statis yang menarik dan juga menyiapkan database MySQL kami. Basis data memiliki tabel dan beberapa data pengguna yang berguna untuk mendorong langkah selanjutnya dari tutorial ini. Pertama, kita perlu mengerjakan file authenticate.php yang ditautkan ke atribut "action" dari tampilan form login kita.

Menggunakan editor terminal favorit Anda, isi file authenticate.php yang dibuat dengan data berikut.

<?php
session_start();
// Change this connection setting to your preference.
$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'root';
$DATABASE_PASS = '';
$DATABASE_NAME = 'fosslinuxlogin';
// Try and connect using the info above.
$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if ( mysqli_connect_errno() ) {
// If there is an error with the connection, stop the script and display the error.
exit('Failed to connect to MySQL: ' . mysqli_connect_error());
}

Script dimulai dengan memulai sesi. Langkah ini menguntungkan karena server web mengingat detail login akun pengguna. Jadi ketika pengguna yang sama keluar dan kembali ke situs nanti menggunakan komputer yang sama, akan mudah untuk masuk lagi tanpa memasukkan detail nama pengguna dan kata sandi baru.

Kami juga menentukan database yang ingin kami sambungkan bersama dengan host, pengguna, dan kata sandinya jika ada.

Langkah pertama untuk mengautentikasi formulir login kami adalah memastikan bahwa pengguna tidak dapat mengirimkan formulir kosong. Kedua kolom harus diisi. Tambahkan kode berikut ke file authenticate.php Anda untuk membantu kami mencapai tujuan ini.

// Time to check if the login form data was submitted. The isset() function checks if the form data exists.
if ( !isset($_POST['username'], $_POST['password']) ) {
// Could not fetch  any data from form subbmission
exit('Please make sure you filled both the username and password form fields!');
}

Dengan potongan kode di atas, pengguna akan menerima kesalahan saat mengirimkan formulir kosong. Karena kami telah menangani pengiriman formulir kosong, kami sekarang perlu mengautentikasi pengiriman formulir pengguna dengan data yang sudah ada di database.

Tambahkan kode berikut ke file authenticate.php Anda.

// We need to Prepare our SQL. This SQL preparation helps prevent SQL injections
if ($stmt = $con->prepare('SELECT id, password FROM accounts WHERE username = ?')) {
// Bind parameters (s = string, i = int, b = blob, etc). Since a string is the username in our case, we use "s"
$stmt->bind_param('s', $_POST['username']);
$stmt->execute();
// Store or preserve the results. It helps counter-check if the  user account exists within our database.
$stmt->store_result();
$stmt->close();
}
?>

Nilai id dan kata sandi dipilih dari tabel database dan dicocokkan dengan input pengguna. Ini mengikat nilai id dan kata sandi ke nilai nama pengguna. Setelah pernyataan SQL berhasil dijalankan, hasilnya disimpan untuk digunakan sebagai sesi. Seperti yang Anda lihat dari kode di atas, baris “$stmt->store_result(); ” menangani tujuan penyimpanan sesi ini.

Baris kode berikutnya untuk ditambahkan ke file authenticate.php Anda harus menggantikan pernyataan kode berikut:

$stmt->store_result();

Tambahkan cuplikan kode berikut setelah pernyataan kode yang disorot di atas.

if ($stmt->num_rows > 0) {
$stmt->bind_result($id, $password);
$stmt->fetch();
// At this point, the account exists. The only thing left is to verify the password.
// The use of password_hash in the registration file is encouraged for the storage of hashed passwords.
if ($_POST['password'] === $password) {
// Verification was a success! Use log in took place!
// Sessions creation takes place because a user is logged in. Sessions functionality resemble cookies because they can remember the server's data.
session_regenerate_id();
$_SESSION['loggedin'] = TRUE;
$_SESSION['name'] = $_POST['username'];
$_SESSION['id'] = $id;
echo 'Welcome ' . $_SESSION['name'] . '!';
} else {
// Incorrect password
echo 'Incorrect username and/or password!';
}
} else {
// Incorrect username
echo 'Incorrect username and/or password!';
}

Kode di atas berkaitan dengan menilai kueri basis data untuk kelayakan hasil apa pun. Jika nama pengguna yang dimasukkan tidak ada dalam database, tidak akan ada yang bisa ditampilkan. Jika pengguna berhasil diautentikasi, inisialisasi variabel sesi berlangsung. Server web menyimpan variabel-variabel ini, dan browser web pengguna mereferensikannya untuk menentukan status login pengguna yang sama.

Saatnya untuk menguji kelayakan kode otentikasi kami. Segarkan tautan “http://localhost/fosslinux_login/” Anda sebelum melanjutkan.

Coba masuk dengan kombinasi nama pengguna dan kata sandi yang salah dan lihat apa yang terjadi.

Pada akhirnya, saya mendapatkan kesalahan tangkapan layar di atas.

Sekarang masuk dengan kombo nama pengguna dan kata sandi yang benar yang tersimpan di database MySQL Anda.

Halaman Landing kami

Memiliki halaman login tidak cukup untuk tutorial kami, pengguna yang berhasil login ke sistem harus diarahkan ke halaman rumah. Dari sini, pengguna seperti itu juga akan memiliki opsi untuk keluar dari sistem jika cocok untuk mereka. Pertama, isi file home.php yang Anda buat dengan potongan kode berikut.

<?php

// We should always remember to use sessions. Te code statement belows start should always be used to start sessions.

session_start();

// A user not actively logged-in is redirected to the main login page...

if (!isset($_SESSION['loggedin'])) {

header('Location: index.html');

exit;

}

?>

Tambahkan kode HTML berikut ke file home.php Anda.

<!DOCTYPE html>

<html>

<head>

<metacharset="utf-8">

<title>FossLinux Home Page</title>

<linkhref="style.css"rel="stylesheet"type="text/css">

<linkrel="stylesheet"href="https://use.fontawesome.com/releases/v5.7.1/css/all.css">

</head>

<bodyclass="loggedin">

<navclass="navtop">

<div>

<h1>FossLinux Login Tutorial</h1>

<ahref="logout.php"><iclass="fas fa-sign-out-alt"></i>Logout</a>

</div>

</nav>

<divclass="content">

<h2>FossLinux Home Page</h2>

<p>Welcome back, <?=$_SESSION['name']?>!</p>

</div>

</body>

</html>

Halaman rumah ini juga membutuhkan beberapa gaya. Tambahkan kode berikut ke file style.css Anda.

.navtop {
background-color: #2f3947;
height: 60px;
width: 100%;
border: 0;
}
.navtop div {
display: flex;
margin: 0 auto;
width: 1000px;
height: 100%;
}
.navtop div h1, .navtop div a {
display: inline-flex;
align-items: center;
}
.navtop div h1 {
flex: 1;
font-size: 24px;
padding: 0;
margin: 0;
color: #eaebed;
font-weight: normal;
}
.navtop div a {
padding: 0 20px;
text-decoration: none;
color: #c1c4c8;
font-weight: bold;
}
.navtop div a i {
padding: 2px 8px 0 0;
}
.navtop div a:hover {
color: #eaebed;
}
body.loggedin {
background-color: #f3f4f7;
}
.content {
width: 1000px;
margin: 0 auto;
}
.content h2 {
margin: 0;
padding: 25px 0;
font-size: 22px;
border-bottom: 1px solid #e0e0e3;
color: #4a536e;
}
.content > p, .content > div {
box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
margin: 25px 0;
padding: 25px;
background-color: #fff;
}
.content > p table td, .content > div table td {
padding: 5px;
}
.content > p table td:first-child, .content > div table td:first-child {
font-weight: bold;
color: #4a536e;
padding-right: 15px;
}
.content > div p {
padding: 5px;
margin: 0 0 10px 0;
}

Karena kami sekarang memiliki halaman beranda pada file authenticate.php Anda, gantikan baris berikut:

echo 'Welcome ' . $_SESSION['name'] . '!';

Dengan baris ini:

header('Location: home.php');

Setiap login berturut-turut sekarang akan mengarahkan Anda ke halaman rumah ini.

Skrip logout

Tampilan home page diatas memiliki link logout yang perlu kita terapkan. Skrip logout untuk file logout.php Anda semudah potongan kode berikut.

<?php

session_start();

session_destroy();

// Redirects the user to the index.html login page:

header('Location: index.html');

?>

Karena sesi menentukan status masuk, skrip di atas menghancurkan semua sesi yang ada dan mencabut status masuk pengguna tersebut. Terakhir, skrip PHP ini membawa pengguna kembali ke halaman login.

Catatan Akhir

Dengan tutorial ini, Anda sekarang memiliki dasar yang kuat dalam membuat skrip PHP yang bereputasi baik dan aman. Anda sekarang dapat membuat sistem yang dapat dipercaya oleh pengguna atau klien yang Anda targetkan. Anda telah menangani kerentanan injeksi SQL serta validasi dan autentikasi data formulir. Apa yang tersisa untuk Anda adalah sedikit penjelasan tentang segmen kode yang tercakup, dan Anda akan segera menjadi pengembang PHP senior:pengkodean yang bahagia dan pertumbuhan yang bahagia dalam perjalanan PHP dan MySQL Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memesan berdasarkan nilai bidang tertentu terlebih dahulu

  2. Cari dengan nilai yang dipisahkan koma mysql

  3. Kolom peningkatan otomatis MySQL melonjak 10- mengapa?

  4. MySQL - Baris ke Kolom

  5. PolyScale.ai – Menskalakan MySQL &PostgreSQL dengan Caching Global