Jump to content
MK2

Ligação à base de dados por txt

Recommended Posts

MK2

Boas.

Já andei à procura e não consegui encontrar nada.

Tenho em todas as páginas em que faço uma ligação à base de dados o seguinte:

$con = mysql_connect("localhost", "root", "1QVf$5");

e queria que fosse buscar essa informação a um ficheiro txt ou outro ficheiro.

Já agora, vocês percebem mais disso, qual o método mais seguro?! Sem que corra o risco dessa informação que está dentro do ficheiro ser apanhada??

Como posso fazer?

Obrigado


Cumps;Mk2_______________________________________________Se não fosse o C estaríamos a usar Pasal, obol e Basi ...

Share this post


Link to post
Share on other sites
ruimcosta

Porque não metes a info de ligação à BD num ficheiro php e chamas esse php em todos os restantes ficheiros?


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
SecretStory

O que tu queres dá para fazer...

Imagina que tens no ficheiro os dados assim:

localhost;root;1QVf$5;

Depois num ficheiro .php fazes:

$file=fopen("ficheiro.txt","r");

while(!feof($file))

    list($host,$user$pass)=explode(";",fgets($file));

}

fclose($file);

$con=mysql_connection($host,$user,$pass);

Não foi testado, mas deve funcionar. Mas sou mais adepto da ideia do ruimcosta. Normalmente tenho um para guardar costantes e afins e outro para inicialização de objectos, etc...

Share this post


Link to post
Share on other sites
KTachyon

Primeiro crias um utilizador com o mínimo de permissões possível e limitado ao localhost, em vez de utilizares o root.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
apu

E que tal usares um ficheiro INI ?

O PHP disponibiliza funções para ler ficheiros ini. http://php.net/manual/en/function.parse-ini-file.php

Desde que o utilizador que estas a utilizar para aceder a base de dados tenha as mínimas permissões possíveis e que esse ficheiro não esteja visível pelo apache, em principio não tens problemas.

Share this post


Link to post
Share on other sites
MK2

Não consegui com o ini.. E queria com isso...

Como ponho isso a funcionar?


Cumps;Mk2_______________________________________________Se não fosse o C estaríamos a usar Pasal, obol e Basi ...

Share this post


Link to post
Share on other sites
apu

Não consegui com o ini.. E queria com isso...

Como ponho isso a funcionar?

Não conseguiste porquê? Seguiste a estrutura normal de um ficheiro INI?

Share this post


Link to post
Share on other sites
MK2

Aquilo faz o que é pedido... e mostra... Mas o que eu quero não é que ele mostre...

Eu tenho na maior parte das páginas o seguinte:

<?php

$con = mysql_connect("localhost", "root", "vertrigo");
if (!$con)
{
die('Problema na ligação ' . mysql_error());
}

mysql_select_db("name", $con);



$query="Update perfil set nome = 'lol' where username = '".$_SESSION['username']."'";
$result = mysql_query($query);
mysql_close($con);

?>

e eu quero substituir o

$con = mysql_connect("localhost", "root", "vertrigo");

por uma ligação a um ficheiro .ini

que no ficheiro esteja por exemplo: "$con = mysql_connect("localhost", "root", "vertrigo");" ou só ""localhost", "root", "vertrigo""


Cumps;Mk2_______________________________________________Se não fosse o C estaríamos a usar Pasal, obol e Basi ...

Share this post


Link to post
Share on other sites
apu

;filename.ini

host = "localhost"
username = "root"
password = "password"

<?php
$config = parse_ini_file("filename.ini");


$con = mysql_connect($config["host"], $config["username"], $config["password"]);
if (!$con)
{
die('Problema na ligação ' . mysql_error());
}

mysql_select_db("name", $con);



$query="Update perfil set nome = 'lol' where username = '".$_SESSION['username']."'";
$result = mysql_query($query);
mysql_close($con);

?>

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

:D Estás quase a chegar à lógica MVC, onde tens um index que chama um controller que por sua vez chama a view e/ou models .... bem adiante, vamos então fazer um código atabalhoado que sirva para tal :)

Tens 2 hipoteses:

1 - Tens tudo em ficheiros separados - e fica assim - e entao incluis um ficheiro dbConfig.php que tem as configurações e faz a ligação.

2 - Tens tudo a passar por um index.php e o index.php tem esse codigo de conecção. Esse index.php tb inclui (include()) os ficheiros que queres visualizar.

Na minha óptica e visto que já tens o projecto a meio, o melhor seria a 1ª, por causa de caminhos relativos de includes entre outras coisas.

Assim, se fosse a ti faria:

# Codigo do dbConfig.php
define("DB_SERVER","localhost");
define("DB_USER","userdb");
define("DB_PWD","userdbpwd");
define("DB_DATABASE","database");

$conn = mysql_connect(DB_SERVER,DB_USER,DB_PWD,DB_DATABASE);

if( !$conn )
    die("Oops ");

@mysql_select_db(DB_DATABASE,$conn) or die("Xiii :x");

e depois nos ficheiros faria:

include_once('dbConfig.php');

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.