2016-04-03 28 views
0

Ben android app erişen bir veritabanı barındırmak için 000webhost sitesi kullanıyorum. Onu çalıştırdığınızda buna "Erişim @ (: EVET şifreyi kullanarak) 'localhost' kullanıcı 'my_user' için engellendi" bağlanamaz diyor, buMaskeleme gerçek kullanıcı adı, şifre, dbname bir php script

<?php 
    $connection = mysqli_connect("localhost", "my_user", "my_password", "my_db"); 
... 

gibi bir php komut dosyası oluşturduk. Bu, izlediğim öğreticinin aynı sözdizimi. Aynı siteyi kullanıyorlar.

Ama çalıştığını

<?php 
    $connection = mysqli_connect("mysql1.000webhost.com", "a80023423_as22", "abc222", "a80023423_as22"); 

parametrelerine gerçek değerlerini verirsen.

URL'mi adres çubuğuna birisi giriyorsa, tüm php dosyalarına erişebilir ve böylece şifrelerimi ve db ile bağlantı kurmak için gereken tüm verileri girer. Bazı blog ve sitelerden ve hatta bazı cevaplardan bile geçtim ama bu değerleri nasıl maskeleyeceğimi anlayamadım.

Verebileceğiniz herhangi bir ipucu var mı? Ya da zaten gönderilmiş bir cevaba bağlantı mı?

+4

Düzenli ziyaretçiler php dosyalarının kaynak kodunu göremez, yalnızca bu dosyalar tarafından üretilen çıktıları görürler. –

+0

Veritabanınıza android uygulamasından erişmemelisiniz, bu güvenlik konusunda çok büyük bir sorun. Bunun yerine, bilgileri almak için json veya xml veya bir şey kullanmalı ve diğer taraftaki bilgileri almak için bir miktar api kullanmalısınız, bu çerçeveyi veya benzerlerini kontrol edin http://www.slimframework.com/ – Saikios

+0

.php dosyasının kodunu çözebilir misiniz? Ayrıca merak ediyorum "my_user" neden "a80023423_as22" – Blogger

cevap

0

php ini, ini yönergesini 1 olarak ayarlayarak E_ALL & ~E_NOTICE olarak ayarlanır. Bu nedenle, hatalı mysqli isteğinin düz metin olarak yazdırılması işte budur. Bu, test ortamında istenebilir, ancak kesinlikle üretimde olmayabilir.

Eğer php.ini dosyanızı düzenleyebiliyorsanız, yönergesini 0'a ayarlayabilirsiniz. Bu kullanıcılara gösterilmesini başarısız MySQL login gibi hataları önleyecektir

error_reporting(E_ALL); 
ini_set("display_errors", 0); 

: Eğer ini dosyası değiştiremiyorsanız

, senaryonuzun üstünde bu kod eklenmesi gerekmektedir. Php dosyasının içinde gerçek kullanıcı adı ve şifre olması güvenlidir.

+0

Üretimde farklı hata raporlama düzeyleri belirlemek için tek bir sebep yoktur. Ve onu dev gibi aynı tutmak için birçok neden. Ve dev de E_ALL –

+0

olmalıdır. "Error_reporting" satırını tamamen kaldırın. – Torchify

+0

iyi, cevapla ilgisi olmamasına rağmen, ancak kodda yine de kalmalı, bu yüzden saklamak daha iyi. –

İlgili konular