Zoom Posted September 7, 2005 Report Share Posted September 7, 2005 (edited) Seit ir bilde uz manu direktoriju strukturu. Tatad man ir mapa ir adminfails. Es vina inkludoju ../db.php un db skripta ../db_config.php tad viss aiziet. Kad skatos lasisanas skriptu izmet erroru pa nedefinetiem mainigajiem. Ja es nonemu tur to "../" no db_config.php, tad lasisana iet, bet adminskripts nee. Ko man darit ? DB.PHP <?php error_reporting(E_ALL); $xfile = @file("config_db.php"); $cnt = count($xfile); $udata = explode('::', $xfile[0]); $dbname = trim($udata[0]); $server = trim($udata[1]); $user_name = trim($udata[2]); $pasw = trim($udata[3]); $data = @mysql_connect($server, $user_name, $pasw) or die (mysql_error()); @mysql_select_db($dbname, $data) or die ('nevar atvert DB :(('.mysql_error()); //echo "viss strada"; ?> Notice: Undefined offset: 1 in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\mans gbook\vgramata\db.php on line 8 Notice: Undefined offset: 2 in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\mans gbook\vgramata\db.php on line 9 Notice: Undefined offset: 3 in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\mans gbook\vgramata\db.php on line 10 nevar atvert DB :((No Database Selected Sis error ir identisks ja ielike citadaku inkludu cita apaksdirektorijas faila. Jocgi ka 7 rindina darbojas ! Edited September 7, 2005 by Zoom Link to comment Share on other sites More sharing options...
Klez Posted September 7, 2005 Report Share Posted September 7, 2005 (edited) vispaar kaadaa sakaraa un kaapeec tu taada mistiskaa veidaa ielasi konfiga failu ??? :blink: pilniigi pietiek ar include() .... tev jaasaak ar pashiem pamatiem! Sāc ar šo te! Edited September 7, 2005 by Klez Link to comment Share on other sites More sharing options...
Delfins Posted September 8, 2005 Report Share Posted September 8, 2005 nu a ja džeks grib paroles glabāt citā failā? :) Starp citu, tas paroļu fails webā būs kā plain-text,... tā kā tomēr labāk glabāt mainīgajos un nokodēt to failu ar kādu atslēgu, kura glabājas kā static teksts iekš vēl viena nokodētā faila :) PS: tas ir ja grib dabūt pilnīgāko security Link to comment Share on other sites More sharing options...
v3rb0 Posted September 8, 2005 Report Share Posted September 8, 2005 kaapee njemties ar db parolju drausmigu aizsardzibu - lieks overkills katru reizi tikt pie paroles. imo pietiek mysql`aa uztaisiit uzeri ar select/insert/update[nu varbut veel kadam, ja tiesam vajag tiesibam uz vienu db kas var piesleegties tikai no web servera ip. - paroli liec ieks kaut kaada *.php kaa mainiigo, konstanti, masiiva elementu vai objekta propertiju -kaa nu pasam labaak patiik. Link to comment Share on other sites More sharing options...
SkaKri Posted September 8, 2005 Report Share Posted September 8, 2005 (edited) DB.PHP <?php error_reporting(E_ALL); $xfile = @file("config_db.php"); $cnt = count($xfile); $udata = explode('::', $xfile[0]); $dbname = ////////////////////////////////////noņem atstarpes trim($udata[0]); $server = ////////////////////////////////////noņem atstarpes trim($udata[1]); $user_name = trim($udata[2]); $pasw = ////////////////////////////////////noņem atstarpes trim($udata[3]); [...] beidz žēloties, un papēti sīkāk :P (žēl ka nevar iedalīt - reģistrēts lietotājs, un reģistrēts idiots) .... TĀTAD: DB.PHP <?php error_reporting(E_ALL); $xfile = @file("config_db.php"); $cnt = count($xfile); $udata = explode('::', $xfile[0]); $dbname = trim($udata[0]); $server = trim($udata[1]); $user_name = trim($udata[2]); $pasw = trim($udata[3]); $data = @mysql_connect($server, $user_name, $pasw) or die (mysql_error()); @mysql_select_db($dbname, $data) or die ('nevar atvert DB :(('.mysql_error()); //echo "viss strada"; ?> ..... sists kaķis --> o_X Edited September 8, 2005 by SkaKri Link to comment Share on other sites More sharing options...
Delfins Posted September 8, 2005 Report Share Posted September 8, 2005 SkaKri, ar ko tavs kods atšķirās no viņējā? Kods tur ir pareizs.. moš tas input-fails līki uzrakstīts Link to comment Share on other sites More sharing options...
goldy Posted September 8, 2005 Report Share Posted September 8, 2005 varbūt kaut ko neizlasīju kā vajag, bet kāpēc mysql lietotājs, parole, adrese un db_vārds ir jāliek iekšā kaut kadā masīvā, kurš atrodas citā failā un pēc tam vēl visiem viņiem jālieto trim(), kur ir jēga ? tirm() vispār vajag lietot tikai tad ja apstrādā lietotāja ievadītos datus, masīvam arī šeit nav vietas, tev ko tur glabājas mysql_konekti = array ( conect1 => array (user , pasword, db), conect2 => array (user2 , pasword2, db2), ................. ) kapēc neraksti vienkārši: $link = mysql_connect("servers", "mazins_useriitis", "maza_userisa_paroliite") or die ("neviena nav darbaa :)"); utt........... Link to comment Share on other sites More sharing options...
SkaKri Posted September 8, 2005 Report Share Posted September 8, 2005 SkaKri, ar ko tavs kods atšķirās no viņējā?Kods tur ir pareizs.. moš tas input-fails līki uzrakstīts 21988[/snapback] Undefined offset Link to comment Share on other sites More sharing options...
Delfins Posted September 8, 2005 Report Share Posted September 8, 2005 SaKri, paskaties uz izejas kodu un savu kodu... Es vispār neredzu atšķirību... `Undefined offset` nav koda atšķirība, bet kļūdas paziņojums. Link to comment Share on other sites More sharing options...
SkaKri Posted September 8, 2005 Report Share Posted September 8, 2005 tieši tā! formatējuma kļūdas paziņojums! liekās atstarpes? Link to comment Share on other sites More sharing options...
bubu Posted September 8, 2005 Report Share Posted September 8, 2005 (edited) (žēl ka nevar iedalīt - reģistrēts lietotājs, un reģistrēts idiots) Šo tagad būtu jāsaka par tevi... php skripta sourcē var tak būt atstarpes cik uziet (vienas vietā). Neko tas nemaina. Edited September 8, 2005 by bubu Link to comment Share on other sites More sharing options...
Delfins Posted September 8, 2005 Report Share Posted September 8, 2005 bubu žetons. Klau puis, iemācies ENG valodu,.. Notice(piezīme) un `Syntax Error` (sintaksiskā kļūda) ir divas dažādas lietas.. turklāt kodam nav formatējuma, bet ir sintakse.. gy, gada joks... `liekās atstarpes` Link to comment Share on other sites More sharing options...
v3rb0 Posted September 8, 2005 Report Share Posted September 8, 2005 nu nezinu, nezinu kādas tur atstarpes, imo visu laiku bija ka ir vienalga cik atstarpes ir starp `=` un mainiigo/f-ju, atstarpes netiek pieskaitiitas klaat. kaa jau Delfins teica, vaina ir liiki aprakstiitaa config_db.php, vai ieks `etc etc` bet ne scriptaa. nokopeeju doto scriptu un ieksh config_db.php ierakstiiju test::localhost::user::password piekonekteejaas pie mysql un db izveeleejas. Link to comment Share on other sites More sharing options...
Delfins Posted September 8, 2005 Report Share Posted September 8, 2005 visdrīzāk kodera kļūda ir tur, ka tiek pielietots `@` pie file() Un tas nemaz neredz, ka ir kāds paziņojums, ka tāds fails neeksistē... Jo nu parasti jau ieliek konfigu citā dirā un tad caur N-inkludiem mēģina includēt no dažādām direktorijām. karoče $xFile = 'db_config.php'; if (!file_exists($xFile)) { die( 'Kādam līkas rokas...' ); } [...] Link to comment Share on other sites More sharing options...
Klez Posted September 8, 2005 Report Share Posted September 8, 2005 par paroleem ... vai glabaa kaa mainiigo vai uzreiz mysql_connect() padod, citaadi kko kodeet mistiski nau jeega. jo ja tiek pie servera failiem tad kadoee kaut 10x un kaut vismistiskaakaa veidaa. taa pat jau tew parole jaatshketina ... so nau tur ko sleept :) Link to comment Share on other sites More sharing options...
Recommended Posts