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

Sanitasi input tetapi output tidak seperti yang diharapkan

Saran saya adalah untuk membangun fungsi untuk membersihkan semua input teks Anda dan fungsi untuk memeriksa semua output Anda yang berasal dari database atau sumber lain, seperti berikut:

<?php
// filter for user input
function filterInput($content)
{
    $content = trim($content);
    $content = stripslashes($content);

    return $content;
}

//filter for viewing data
function filterOutput($content)
{
    $content = htmlentities($content, ENT_NOQUOTES);
    $content = nl2br($content, false);

    return $content;
}

tergantung pada strategi Anda, Anda dapat menambahkan fitur tambahan ke filter atau menghapus beberapa. Tapi apa yang Anda miliki di sini cukup untuk melindungi Anda dari XSS.

EDIT: selain fungsi di atas, jawaban ini mungkin juga relevan sebagai bagian dari perlindungan situs web Anda.

Referensi ke metode yang berbeda:

Sebaiknya lihat juga tautan berikut:

Dan yang terpenting adalah menyadari 10 risiko teratas dan mempelajarinya lebih lanjut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan catatan berbeda dari tabel mysql?

  2. Bisakah saya membatalkan tabel ALTER di - MySQL?

  3. Variabel MySQL menyimpan nama database

  4. Bagaimana saya bisa menyimpan nilai pilihan ganda dalam SQL-Table? Bagaimana seharusnya meja itu?

  5. jalankan banyak sisipan dengan PreparedStatement - Java