Rumah pembangunan bahagian belakang tutorial php 如何书写安全的PHP代码_PHP

如何书写安全的PHP代码_PHP

Jun 01, 2016 pm 12:43 PM
Virus kafe siber Maklumat perisian

PHP是一个很容易学习的语言, 许多人在没有任何编程背景下学习它作为一种去增加一些互动元素到他们的网站的方法. 不幸的是,这往往意味着PHP程序员,尤其是那些较新的Web开发程序员, 并没有觉察他们网站中潜在安全风险. 这里是一些比较常见的安全问题,以及如何去避免它们。

永远,永远信任你的用户

不能说足够的次数,你应该永远,永远, 信任你的用户向你发送你期望的数据. 我听到很多人回应,大概是"哦,没有恶意的人将对我的网站感兴趣"。这就错了, 这里总是有怀有恶意的用户可以利用一个安全漏洞,问题可以很容易被发现,因为一个用户无意中做错了。

因此, 所有网页的发展的戒律,我不能再压缩了的话就是:永远,永远,相信你的用户。假定你的网站从使用者收集的每片数据含有恶意代码,始终, 你认为已经检查客户端验证的这些数据,例如在JavaScript ,如果你能够达到这个目标,你应该有了一个良好的开端。如果PHP的安全性很重要,这一点就要重要地学习,个人来说,"PHP安全"是一个重大的问题。

全局变量

在许多语言,你必须明确地设定一个变量以使用它。 在PHP中,有一个选项" , register_globals" , 你可以在php.ini中设置,让你可以使用全局变量,而不需要事先声明。

考虑下面的代码:

以下为引用的内容:

if ($password == "my_password") {

$authorized = 1;

}

if ($authorized == 1) {

echo "Lots of important stuff.";

}


许多人看上去觉得没什么问题,而事实上,这方面的代码在整个网站上应用. 但是,如果一个服务器开启"register_globals"。然后,只需添加"?authorized=1"的URL将让任何人都看到. 这是一个最普遍的PHP的安全问题。

所幸的是,这有两个简单的解决办法. 第一,也许最好的,就是把"register_globals"关闭. 二是你必须明确只有你使用变量. 在上面的例子中,这将意味着加入"?authorized=0"; 在脚本的开始:

$authorized = 0;if ($password == "my_password") {$authorized = 1;}if ($authorized == 1) {echo "Lots of important stuff.";}

错误信息

错误信息是一个非常有用的工具,无论是程序员和黑客. 开发者需要它们去改正错误. 黑客可以利用它们来找出一个网站的各种信息, 从目录结构的服务器,数据库登录信息. 如果可能的话,最好是关闭所有的错误报告. PHP可以完成这项工作. htaccess或php.ini,设置"error_reporting" 的值改为"0" . 如果你有一个开发环境,您可以设定不同的错误报告级别。

SQL注入

PHP的一个最大优点就是,它可以方便地与数据库中操作,最显着的MySQL的. 很多人使用这个数据库。不少网站,包括这一个,依赖于数据库的函数. 然而,正如你所料,有这么大的权力你就要够面对庞大的潜在安全问题. 所幸的是,有很多解决办法. 最常见面安全问题是一个数据库 SQL注入-当用户利用一个安全故障在你的数据库运行SQL语句. 让我们用一个常见的例子. 许多登录系统具有以下特点:一条线,看起来象不像是在检查从表单输入的用户名和密码, 比如去控制访问一个管理员区:

$check = mysql_query("Select Username, Password, UserLevel FROM Users Where Username = '".$_POST['username']."' and Password = '".$_POST['password']."'");

看上去很眼熟? 就表面看来,它好像做得不错.上述并不像可以做许多破坏. 但话又说回来,我在"username" 输入框输入这样的值并提交:

'' 或者 1=1 #

这个执行语句现在是这个样子:

elect Username, Password FROM Users Where Username = '' or 1=1 #' and Password = '';

散列符号(#)告诉MySQL的它之后一切,都会被忽略. 所以实际上只是执行的SQL到这一点. 1永远等于1 ,所以SQL将从数据库返回所有的用户名和密码. 在大多数用户登录数据库的首个户名和密码组合都是管理员用户, 他干脆输入了几个符号作为管理员已登录你的网站, 果他们其实都知道的用户名和密码,他们会有同样的权力如。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perisian bonjour dan bolehkah ia dinyahpasang? Apakah perisian bonjour dan bolehkah ia dinyahpasang? Feb 20, 2024 am 09:33 AM

Tajuk: Terokai perisian Bonjour dan cara menyahpasangnya Abstrak: Artikel ini akan memperkenalkan fungsi, skop penggunaan dan cara menyahpasang perisian Bonjour. Pada masa yang sama, ia juga akan diterangkan cara menggunakan alatan lain bagi menggantikan Bonjour bagi memenuhi keperluan pengguna. Pengenalan: Bonjour ialah perisian biasa dalam bidang teknologi komputer dan rangkaian. Walaupun ini mungkin tidak biasa bagi sesetengah pengguna, ia boleh menjadi sangat berguna dalam beberapa situasi tertentu. Jika anda telah memasang perisian Bonjour tetapi kini ingin menyahpasangnya, maka

Apa yang perlu dilakukan jika WPS Office tidak boleh membuka fail PPT - Apa yang perlu dilakukan jika WPS Office tidak boleh membuka fail PPT Apa yang perlu dilakukan jika WPS Office tidak boleh membuka fail PPT - Apa yang perlu dilakukan jika WPS Office tidak boleh membuka fail PPT Mar 04, 2024 am 11:40 AM

Baru-baru ini, ramai rakan bertanya kepada saya apa yang perlu dilakukan sekiranya WPSOffice tidak dapat membuka fail PPT Seterusnya, mari kita belajar bagaimana untuk menyelesaikan masalah WPSOffice tidak dapat membuka fail PPT. 1. Mula-mula buka WPSOffice dan masukkan halaman utama, seperti yang ditunjukkan dalam rajah di bawah. 2. Kemudian masukkan kata kunci "pembaikan dokumen" dalam bar carian di atas, dan kemudian klik untuk membuka alat pembaikan dokumen, seperti yang ditunjukkan dalam rajah di bawah. 3. Kemudian import fail PPT untuk pembaikan, seperti yang ditunjukkan dalam rajah di bawah.

Apakah perisian crystaldiskmark? -Bagaimana menggunakan crystaldiskmark? Apakah perisian crystaldiskmark? -Bagaimana menggunakan crystaldiskmark? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ialah alat penanda aras HDD kecil untuk pemacu keras yang cepat mengukur kelajuan baca/tulis berurutan dan rawak. Seterusnya, biarkan editor memperkenalkan CrystalDiskMark kepada anda dan cara menggunakan crystaldiskmark~ 1. Pengenalan kepada CrystalDiskMark CrystalDiskMark ialah alat ujian prestasi cakera yang digunakan secara meluas yang digunakan untuk menilai kelajuan baca dan tulis serta prestasi pemacu keras mekanikal dan pemacu keadaan pepejal (SSD Prestasi I/O rawak. Ia adalah aplikasi Windows percuma dan menyediakan antara muka mesra pengguna dan pelbagai mod ujian untuk menilai aspek prestasi cakera keras yang berbeza dan digunakan secara meluas dalam ulasan perkakasan

Tutorial penggunaan CrystalDiskinfo-Apakah perisian CrystalDiskinfo? Tutorial penggunaan CrystalDiskinfo-Apakah perisian CrystalDiskinfo? Mar 18, 2024 pm 04:50 PM

CrystalDiskInfo ialah perisian yang digunakan untuk menyemak peranti perkakasan komputer Dalam perisian ini, kita boleh menyemak perkakasan komputer kita sendiri, seperti kelajuan membaca, mod penghantaran, antara muka, dll.! Jadi sebagai tambahan kepada fungsi ini, bagaimana untuk menggunakan CrystalDiskInfo dan apakah sebenarnya CrystalDiskInfo Izinkan saya menyelesaikannya untuk anda! 1. Asal Usul CrystalDiskInfo Sebagai salah satu daripada tiga komponen utama hos komputer, pemacu keadaan pepejal ialah medium storan komputer dan bertanggungjawab untuk penyimpanan data komputer Pemacu keadaan pepejal yang baik boleh mempercepatkan pembacaan fail dan mempengaruhi pengalaman pengguna. Apabila pengguna menerima peranti baharu, mereka boleh menggunakan perisian pihak ketiga atau SSD lain untuk

Bagaimana untuk menetapkan kenaikan papan kekunci dalam Adobe Illustrator CS6 - Bagaimana untuk menetapkan kenaikan papan kekunci dalam Adobe Illustrator CS6 Bagaimana untuk menetapkan kenaikan papan kekunci dalam Adobe Illustrator CS6 - Bagaimana untuk menetapkan kenaikan papan kekunci dalam Adobe Illustrator CS6 Mar 04, 2024 pm 06:04 PM

Ramai pengguna menggunakan perisian Adobe Illustrator CS6 di pejabat mereka, jadi adakah anda tahu bagaimana untuk menetapkan kenaikan papan kekunci dalam Adobe Illustrator CS6 Kemudian, editor akan membawakan kepada anda kaedah menetapkan kenaikan papan kekunci dalam Adobe Illustrator CS6 Pengguna yang berminat boleh lihat di bawah. Langkah 1: Mulakan perisian Adobe Illustrator CS6, seperti yang ditunjukkan dalam rajah di bawah. Langkah 2: Dalam bar menu, klik perintah [Edit] → [Keutamaan] → [Umum] dalam urutan. Langkah 3: Kotak dialog [Keyboard Increment] muncul, masukkan nombor yang diperlukan dalam kotak teks [Keyboard Increment], dan akhirnya klik butang [OK]. Langkah 4: Gunakan kekunci pintasan [Ctrl]

Apakah jenis perisian bonjour Adakah ia berguna? Apakah jenis perisian bonjour Adakah ia berguna? Feb 22, 2024 pm 08:39 PM

Bonjour ialah protokol rangkaian dan perisian yang dilancarkan oleh Apple untuk menemui dan mengkonfigurasi perkhidmatan rangkaian dalam rangkaian kawasan setempat. Peranan utamanya ialah untuk menemui dan berkomunikasi secara automatik antara peranti yang disambungkan dalam rangkaian yang sama. Bonjour pertama kali diperkenalkan dalam versi MacOSX10.2 pada tahun 2002, dan kini dipasang dan didayakan secara lalai dalam sistem pengendalian Apple. Sejak itu, Apple telah membuka teknologi Bonjour kepada pengeluar lain, jadi banyak sistem pengendalian dan peranti lain juga boleh menyokong Bonjour.

Bagaimana untuk membuang sepenuhnya virus daripada telefon bimbit Kaedah yang disyorkan untuk menangani virus dalam telefon bimbit Bagaimana untuk membuang sepenuhnya virus daripada telefon bimbit Kaedah yang disyorkan untuk menangani virus dalam telefon bimbit Feb 29, 2024 am 10:52 AM

Selepas telefon bimbit dijangkiti virus Trojan tertentu, ia tidak dapat dikesan dan dibunuh oleh perisian anti-virus Prinsip ini sama seperti komputer yang dijangkiti virus yang degil Virus hanya boleh dikeluarkan sepenuhnya dengan memformat pemacu C memasang semula sistem , kemudian saya akan menerangkan cara membersihkan virus sepenuhnya selepas telefon bimbit dijangkiti virus yang degil. Kaedah 1: Buka telefon dan klik "Tetapan" - "Tetapan Lain" - "Pulihkan Telefon" untuk memulihkan telefon kepada tetapan kilang Nota: Sebelum memulihkan tetapan kilang, anda mesti membuat sandaran data penting dalam telefon bersamaan dengan komputer "Ia sama seperti memformat dan memasang semula sistem." Selepas pemulihan, data dalam telefon akan dikosongkan butang" + "kelantangan + butang atau kelantangan - butang" pada telefon pada masa yang sama.

Bagaimana untuk menyelesaikan percubaan perisian yang tidak serasi untuk dimuatkan dengan Edge? Bagaimana untuk menyelesaikan percubaan perisian yang tidak serasi untuk dimuatkan dengan Edge? Mar 15, 2024 pm 01:34 PM

Apabila kami menggunakan penyemak imbas Edge, kadangkala perisian yang tidak serasi cuba dimuatkan bersama, jadi apa yang sedang berlaku? Biarkan tapak ini dengan teliti memperkenalkan kepada pengguna cara menyelesaikan masalah cuba memuatkan perisian yang tidak serasi dengan Edge. Cara menyelesaikan perisian yang tidak serasi yang cuba dimuatkan dengan Edge Solution 1: Cari IE dalam menu mula dan akses terus dengan IE. Penyelesaian 2: Nota: Mengubah suai pendaftaran boleh menyebabkan kegagalan sistem, jadi kendalikan dengan berhati-hati. Ubah suai parameter pendaftaran. 1. Masukkan regedit semasa operasi. 2. Cari laluan\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Micros

See all articles