Rumah Keuangan Pribadi Bagaimana cara menghindari Code Injection di C ++ - dummies

Bagaimana cara menghindari Code Injection di C ++ - dummies

Video: Passwords & hash functions (Simply Explained) 2025

Video: Passwords & hash functions (Simply Explained) 2025
Anonim

Aturan pertama untuk menghindari kode menyuntikkan ke dalam program C ++ tidak pernah, pernah, memungkinkan masukan pengguna diproses oleh penerjemah bahasa tujuan umum. Kesalahan umum dengan injeksi SQL adalah bahwa program menerima masukan pengguna seolah-olah selalu dapat diterima dan memasukkannya ke dalam kueri SQL sehingga kemudian dikirim ke mesin basis data untuk diproses.

Sebagai contoh, sebuah program yang meminta masukan pengguna pada suatu tanggal dapat diretas. Pendekatan yang paling aman dan paling user-friendly adalah memberikan grafik kalender kepada pengguna agar dapat memilih tanggal mulai dan akhir. Program kemudian akan membuat tanggal berdasarkan pada apa yang diklik pengguna.

Jika ini tidak mungkin, maka program harus memeriksa dengan saksama masukan untuk memastikan bahwa input dalam format yang tepat untuk sebuah tanggal, dalam kasus ini yyyy / mm / dd < - dengan kata lain, empat digit diikuti oleh garis miring diikuti dua digit dan garis miring dan akhirnya dua digit lagi. Tidak ada lagi yang harus dianggap sebagai masukan yang dapat diterima. Kadang-kadang Anda tidak bisa begitu spesifik tentang formatnya. Jika Anda harus mengizinkan pengguna untuk memasukkan teks fleksibel, maka setidaknya Anda dapat menghindari karakter khusus. Sebagai contoh, itu cukup banyak tidak mungkin untuk melakukan injeksi kode SQL tanpa menggunakan kutipan tunggal atau ganda.

Anda tidak dapat menyisipkan tag HTML tanpa menggunakan tanda kurang dari (). Atau Anda bisa saja mengambil pendekatan bahwa teks selain ASCII tidak akan ditolerir:

// periksa beberapa string 'untuk memastikannya lurus dengan ukuran ASCII = off. find_first_not_of ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_"); if (off! = string:: npos) {cerr << "errorn";}

Kode ini mencari string

s untuk karakter yang bukan salah satu karakter A sampai Z, a sampai z, 0 sampai 9, atau garis bawah. Jika menemukan karakter seperti itu, maka program tersebut menolak masukan.

Jika Anda mengizinkan hanya karakter Latin yang ditampilkan di sini, aplikasi Anda tidak akan bisa digunakan di pasar luar negeri seperti yang tidak menggunakan set karakter bahasa Inggris (seperti bahasa Arab, Cina, Ibrani, atau Rusia, untuk beberapa nama saja). Anda mungkin harus mengambil pendekatan yang berlawanan dan hanya mencari karakter buruk.
Bagaimana cara menghindari Code Injection di C ++ - dummies

Pilihan Editor

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Sementara ada cara baru untuk membuat tabel di Office 2011 untuk Mac, Anda masih bisa menggunakan teknik stand-by. Menu yang familiar masih bekerja di Office 2011 untuk Mac, dan inilah buktinya. Dialog meja semuanya masih ada di sana: Di Word, pilih Table → Insert → Table; Sebagai alternatif, pada tab Tabel Ribbon, di Tabel Pilihan ...

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Apakah Anda menggunakan Office 2011 untuk Mac atau Produk Microsoft Office lainnya, toolbar Anda bisa sangat berantakan. Setiap kali Anda merasa perlu untuk men-tweak antarmuka aplikasi Microsoft Office, Anda perlu memanggil dialog Customize Toolbars and Menus. Ini adalah dialog super kuat di Word, Excel, dan PowerPoint yang memungkinkan Anda ...

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Setelah Anda menyesuaikan Office 2011 Anda bilah alat dan antarmuka, Anda dapat berbagi penyesuaian dengan orang lain. Namun, pastikan bahwa Anda menasihati orang-orang yang telah Anda lakukan sebelum membagikan dokumen Anda dengannya; Jika tidak, mereka mungkin akan terkejut saat mereka membuka dokumen Anda dan melihat susunan toolbar atau menu yang berbeda dari pada apa ...

Pilihan Editor

Penting Office 2007 Commands - dummies

Penting Office 2007 Commands - dummies

Anda dapat membuat program Office 2007 lebih mudah jika Anda menggunakan pintasan sederhana ini. Perintah-perintah ini, seperti mengurungkan kesalahan dan memperbesar dan memperkecil akan membantu Anda menghemat waktu. Memasuki simbol: Untuk memasukkan simbol atau karakter asing yang tidak ada pada keyboard Anda, masuk ke tab Insert dan klik Symbol ...

Menyesuaikan Perintah Menu di Office 2003 - dummies

Menyesuaikan Perintah Menu di Office 2003 - dummies

Office 2003 menyediakan dua teknik untuk menyesuaikan menu dan perintah menu. Anda bisa memulai dari kotak dialog Rearrange Commands atau menggunakan metode drag-and-drop. Teruslah membaca. Menangani perintah menu di kotak dialog Rearrange Commands Teknik tombol Options Toolbar untuk menangani tombol toolbar bagus dan keren, tapi bagaimana jika Anda ingin ...

Pilihan Editor

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Ketika Anda menjawab Argument Analysis Pertanyaan di GRE, argumen mungkin tampak logis dan adil di permukaan tapi sebenarnya keliru (keliru, cacat). Alasan melingkar, penalaran sebab-akibat yang keliru, dan generalisasi sweeping adalah tiga tanda argumen lemah. Dengan melihat beberapa kesalahan logis yang lebih umum, Anda dapat mengidentifikasi kelemahan dalam argumen dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Meskipun pertanyaan matematika biasanya hanya memiliki satu jawaban yang benar, ini tidak selalu terjadi. Akibatnya, beberapa pertanyaan pilihan ganda pada tes GRE Math akan memberi Anda daftar jawaban dan meminta Anda untuk memilih lebih dari satu. Pertanyaan praktik berikut meminta Anda untuk menemukan nilai kemungkinan yang berbeda secara berurutan dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pada tes GRE Verbal, beberapa pertanyaan pilihan ganda akan memiliki lebih dari satu jawaban yang benar. Untuk pertanyaan ini, Anda akan diminta untuk melihat-lihat pilihan jawaban dan memilih semua yang menurut Anda benar. Dalam pertanyaan praktik berikut, Anda diminta untuk membaca bagian yang disertakan, dan kemudian ...