LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek PHP (36) - Připojujeme se k MySQL

Pripojeni pres unixovy socket 11.8.2004 17:13
Jan Houštěk

Bezi-li mysql server primo na stroji, kde je provozovan i http server, je vhodne se pripojovat pres unixovy socket, pripojeni pres TCP neni treba a mysqld vubec na tcp/3306 nemusi poslouchat.

Navic chovani php4-mysql modulu je takove, ze uvidi-li jako host "localhost" nebo "127.0.0.1", provede spojeni prave pres socket, takze se nedivte, ze to funguje, i kdyz na 127.0.0.1:3306/tcp nic neposloucha.

Vzhledem k tomu, ze sitova komunikace mysql neni vubec nijak chranena (proti odposlechu, integrite dat apod.), byva vhodne se ji bud zcela vyhnout (provozovanim klienta na stejnem systemu jako server, at uz je klientem cokoliv, treba phpMyAdmin), nebo pouze po duveryhodnych linkach.

Re: Pripojeni pres unixovy socket 11.8.2004 19:58
Petr Zajíc

Je to tak. Originální dokumentace k tomu říká: "Vždy když uvedete "localhost" nebo "localhost:port" jako server, klientská knihovna MySQL na toto nebude brát zřetel a pokusí se připojit na místní soket ("named pipe" na Windows). Chcete-li použít TCP/IP, uvedte "127.0.0.1" namísto "localhost". Pokud se klientská knihovna MySQL pokouší připojovat na špatný soket, měli byste nastavit správnou cestu jako mysql.default_host ve vaší PHP konfiguraci a nechat pole server prázdné."

Experimentálně jsem neověřoval, zda je chování při připojení přes "127.0.0.1" jiné než při "localhost", protože v tom se dokumentace s předchozím příspěvkem rozchází (ale není to nic zásadního).

Možná právě proto, že provoz není nijak chráněn, brání se většina provozovatelů MySQL proti připojením z jiných strojů. Na druhou stranu může provozování MySQL a http serveru na jednom stroji přinášet problémy související s výkonem; v praxi se to ovšem dělá celkem běžně.

Re: Pripojeni pres unixovy socket 11.8.2004 20:20
Jan Houštěk

Ad localhost vs. 127.0.0.1 -- je to v souladu z dokumentaci. Psal jsem to z hlavy, chtel jsem jen zduraznit pripojeni na socket, bez naroku na uplnost a presnost :)

K provozovani databazi na dedikovanem stroji -- ano, to smysl ma, ale to sitove propojeni by melo byt lokalni a maximalne duveryhodne (idealne cross kabel mezi http a DB serverem). Nejen kvuli bezpecnosti, ale take napr. kvuli co nejlepsi dostupnosti DB.

Re: Pripojeni pres unixovy socket 12.8.2004 20:47
Michal Kubeček

...nebo použít stunnel.

fuknce nefunguje 12.8.2004 10:29
Petr Šigut

Proc mi to nefunguje jako funkce?
Vzdycky to vyhodnoti jako ze plati podminka else...

<?php
function db_init() {
if ($_SERVER["SERVER_ADDR"]=="localhost")
{
define("SQL_HOST","localhost");
define("SQL_DBNAME","database");
define("SQL_USERNAME","user");
define("SQL_PASSWORD","password");
}
else
{
define("SQL_HOST","mysql.nekde.cz");
define("SQL_DBNAME","databaze_u_providera");
define("SQL_USERNAME","user2");
define("SQL_PASSWORD","password2");
}

}

Re: fuknce nefunguje 12.8.2004 11:07
Petr Zajíc

Nevím. Jedna možnost je ta, že server se identifikuje IP adresou, ne tedy jako "localhost".

Re: fuknce nefunguje 12.8.2004 11:26
Petr Šigut

UZ to funguje! byl bych prisahal ze jsem zkousel obe... diky

Re: fuknce nefunguje 28.6.2009 16:16
swosh

vyjel jsem si print_r obsah pole $_SERVER a zjistil jsem

[SERVER_NAME] => localhost [SERVER_ADDR] => 127.0.0.1

takze misto
if ($_SERVER["SERVER_ADDR"]=="localhost")
dejte
if ($_SERVER["SERVER_ADDR"]=="127.0.0.1")

Re: fuknce nefunguje 22.9.2009 17:13
Josef "Mustapha_CZE" Pavlík

Vím, že to tení aktuální, ale solidně jsem se s tímto příkladem potrápil. Děkuji ti moc za vpomoc. Nyní jsem již tento SCRIPT rozběhal. A to díky tobě. Ještě jednou díky. Pepa

nefunguje mi to 10.4.2005 20:20
Temistokles

pouzivam windows xp a vobec mi to neide.
napise mi to len:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'meno@localhost' (Using password: YES) in C:\www\www\index.php on line 2
Nelze se pøipojit k MySQL: Access denied for user: 'meno@localhost' (Using password: YES)

::meno mam zamenene za uzivatela
skusal som to cez IP aj cez "localhost"

SERVER_ADDR 18.8.2005 12:34
Joe
Chtěl bych se zeptat jestli můžu místo ($_SERVER["SERVER_ADDR"]== "localhost") použít ($_SERVER["HTTP_HOST"] == "localhost")?
func.php/include--config.php 11.1.2008 20:23
rudhas gasper

Asi sa vela z Vas pošmyklo na umiestneni config.php Ja som zmenil vo func.php
"include "../../includes/config.php" _ZA_
<?php include ('config.php'); a config.php môže
byt s ostatnymi..

undefinet function 6.3.2008 21:53
Dan Pelíšek

Dobrý den,
ještě nikdy jsem se nezkoušel připojit k MySQL a teď to dělám poprvé. Napsal sem to přesně podle vašeho příkladu, ale nejde mi to. Napsalo mi to přesně toto: "Fatal error: Call to undefined function mysql_connect()... "
Určitě to bude nějaký triviální problém, ale já si s tým nevím rady, prosím poraďte.

Re: undefinet function 7.3.2008 00:05
Ondřej Čečák

To zni, jako byste nemel v PHP modul pro MySQL.

Re: undefinet function 7.3.2008 19:55
Dan Pelíšek

a dá se tento modul někde stáhnout a doinstalovat? Nebo rovnou stáhnout celé php obsahující tento modul?
Nyní mám PHP Version 5.2.5, po vypsání funkce phpinfo() se mi na sránce zobrazí pouze jeden údaj obsahující v názvu sql - sql.safe_mode local value-Off master value-Off

Re: undefinet function 9.3.2008 16:53
Dan Pelíšek

Měl jste pravdu, doinstaloval sem si PECL a už to jde.
Kdyby měl někdo stejný problém tak jsem ho stáhnul zde: http://cz.php.net/downloads.php

Bezpecnost- pripojeni mysql z php 10.10.2009 01:13
rada tanat

Preji pekny den,
poustim se do php programovani, nyni s vyuzitim db mysql. Chtel bych se zeptat, jak resit zabezpeceni pro pripojeni k mysql db-jak vyresit bezpecnost prihlasovacich udaju(jmeno, heslo). Na strankach chci vypis nekterych udaju z databaze- na db se chci atuomaticky pripojit, ale vyplneni prihl. udaju v php kodu(mysql_connect ("host","user","pass")) neni pro me moc uklidnujici. Jak resit tento bezpecnostni problem? Predem dekuji za odpoved. R

Re: Bezpecnost- pripojeni mysql z php 12.10.2009 15:46
Aleš Hakl

Ono vam nic lepsiho nez to uvest v kodu nezbyde. Proste ten program musi mit pravo s tou databazi pracovat a tak nejak z definice (at uz si vymyslite cokoli), tak toto pravo ziska i kdokoli, kdo ten program muze zkoumat/spoustet.

Pokud o bezpecnost opravdu jde, tak je vhodne to resit tak, ze takovyto program bude pouzivat sveho specialniho uzivatele v DB, ktery bude mit pouze ta potrebna prava. V extremnim pripade by ty potrebna prava mohla znamenat pouze spoustet ulozene funkce, ktere to budou jeste dale kontrolovat.


KOMENTARZE
Pripojeni pres unixovy socket 11.8.2004 17:13 Jan Houštěk
|- Re: Pripojeni pres unixovy socket 11.8.2004 19:58 Petr Zajíc
| L Re: Pripojeni pres unixovy socket 11.8.2004 20:20 Jan Houštěk
L Re: Pripojeni pres unixovy socket 12.8.2004 20:47 Michal Kubeček
fuknce nefunguje 12.8.2004 10:29 Petr Šigut
|- Re: fuknce nefunguje 12.8.2004 11:07 Petr Zajíc
| L Re: fuknce nefunguje 12.8.2004 11:26 Petr Šigut
L Re: fuknce nefunguje 28.6.2009 16:16 swosh
  L Re: fuknce nefunguje 22.9.2009 17:13 Josef "Mustapha_CZE" Pavlík
nefunguje mi to 10.4.2005 20:20 Temistokles
SERVER_ADDR 18.8.2005 12:34 Joe
func.php/include--config.php 11.1.2008 20:23 rudhas gasper
undefinet function 6.3.2008 21:53 Dan Pelíšek
L Re: undefinet function 7.3.2008 00:05 Ondřej Čečák
  |- Re: undefinet function 7.3.2008 19:55 Dan Pelíšek
  L Re: undefinet function 9.3.2008 16:53 Dan Pelíšek
Bezpecnost- pripojeni mysql z php 10.10.2009 01:13 rada tanat
  L Re: Bezpecnost- pripojeni mysql z php 12.10.2009 15:46 Aleš Hakl
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4872x
2. FreeBSD
Download: 9063x
3. PCLinuxOS-2010
Download: 8561x
4. alcolix
Download: 10943x
5. Onebase Linux
Download: 9656x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6239x

1. xinetd
Download: 2411x
2. RDGS
Download: 937x
3. spkg
Download: 4750x
4. LinPacker
Download: 9961x
5. VFU File Manager
Download: 3196x
6. LeftHand Mała Księgowość
Download: 7199x
7. MISU pyFotoResize
Download: 2803x
8. Lefthand CRM
Download: 3559x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3116x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz