Pereiti prie turinio

Kreipimasis į MySQL tik iš nurodyto IP adreso


Rekomenduojami pranešimai

Sveiki. Esu pradedantysis programuotojas, todėl prašau Jūsų pagalbos. Gal būt čia yra Java programuotojų, gal būt ne, bet pirmiausiai PHP. Kaip naudojant PHP nurodyti, kad kreiptis į duom.bazę ir atskirai lenteles būtųgalima tik (tarkim) 12.321.456.78. Čia gal apache nustatymus reikia keisti, ar ką? Jeigu yra Java programuotojų, parašykite temoje. Ačiū.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal tiktų paprastas if'as?

 

if($_SERVER['REMOTE_ADDR'] == "123.456.78.1.2")
{
		mysql_connect($server, $user, $password);
}
else
{
		header("Location: index.html");
}

 

Čia tikrina ar user'io IP 123.456.78.1.2, jei taip prisijungia prie duombazės, jei ne redirect'ina į tavo nurodytą puslapį.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai praverčia, nes tai ir pats moku. Bėda ta, kad belekas gali prisijungti prie duom.bazės (phpMyAdmin), o tuo labiau atlikti ir iš kitų serverių veiksmus į duomenų bazę. Na, tarkim. Yra duom.bazėje prisijungimai prie duom.bazės (į kitų serverių duom.bazes), o prie jos prisijungti ar atlikti kažkokius veiksmus būtų galima tik iš tam tikro IP (šiuo atveju 12.345.678.91), jeigu IP nėra 12.321.456.78, tai nedarytų nieko. Dėl prisijungimo tai visai nesunku būtų padaryti, bet kaip daryti, kad neitų atlikti INSERT, SELECT ir kitų funkcijų atlikti iš kito IP (pvz. 12.123.123.12).

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai Min2liz tau parašė teisingą atsakymą:

  1. Sukuri vartotoją ...@IP
  2. Suteiki tam vartotojui teises į duomenų bazę.
  3. Atimi visas teises prie duomenų bazės iš kitų vartotojų.

Kame tada problema?

Na, o atliekant PHP/Java funkcijas, kaip tada žiūrėti, ar veiksmai atliekami būtent iš to user'io (t.y. sutinka nick/pass)?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai suprantu, ko čia norima apskritai tada.. Tai sukuri prisijungimo sistemą, kur tik X vartotojas gali atlikti funkcijas + dar gali naudoti IP tikrinimą (kaip laurynasdm nurodė).

 

Šiuo atveju nereikėtų maišyti duomenų bazės vartotojo ir puslapio vartotojo.

 

P.S. Ar moki programuoti? Ar mes čia sprendžiame trivialias problemas kažkokiame paaukštintame lygyje. Gal visai ne nuo to pradedame.

Redagavo Satisfaction
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Esu pradedantysis, bet ne žalias. Tarkim.. Yra duom.bazėje lentelė "db". Joje surašyti duomenys duom.bazių į kitus serverius (ne localhost). Ir būtų atskirai sudaryta viskas ir gaudami informaciją (MySQL (bet tie, kas naudojas, kad neturėtų jokio skripto, tikrinimo ir t.t., kad nesužinotų prisijungimų prie kitų duom.bazių)). Tai tarkim jeigu yra kreipiamasi iš serverio 12.123.123.12, o duom.bazėje "db" yra prisijungimai prie duom.bazės ir lentelė "ip" ir jeigu "ip" sutinka su IP iš kurio kreipiamasi į phpMyAdmin, tuomet leistų atlikti veiksmus, bet tik iš to IP adreso (serverio, ne vartotojo).

 

Jeigu nesupratot, ką turėjau omenyje, tuomet nežinau kaip paaiškinti :/

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Esu pradedantysis, bet ne žalias. Tarkim.. Yra duom.bazėje lentelė "db". Joje surašyti duomenys duom.bazių į kitus serverius (ne localhost). Ir būtų atskirai sudaryta viskas ir gaudami informaciją (MySQL (bet tie, kas naudojas, kad neturėtų jokio skripto, tikrinimo ir t.t., kad nesužinotų prisijungimų prie kitų duom.bazių)). Tai tarkim jeigu yra kreipiamasi iš serverio 12.123.123.12, o duom.bazėje "db" yra prisijungimai prie duom.bazės ir lentelė "ip" ir jeigu "ip" sutinka su IP iš kurio kreipiamasi į phpMyAdmin, tuomet leistų atlikti veiksmus, bet tik iš to IP adreso (serverio, ne vartotojo).

 

Jeigu nesupratot, ką turėjau omenyje, tuomet nežinau kaip paaiškinti :/

 

košė makalošė :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kuom čia susijęs phpMyAdmin su kažkuo šiuo atveju?

 

Tai tie vartotojai kitų duomenų bazės tegul būna pririšti tik prie serverio ip adreso ir tiek (Min2liz pavyzdys). Tada tik serveris galės prisijungti prie tų vartotojų ir jų duomenų bazių.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Vienu žodžiu... Bandau paskutinį kartą.. Man reikia kažkaip sukonfiguruoti MySQL ar kažką kito, kad eitų prisijungti tik iš to adreso ir/ar serverio (ne vartotojo), kurio IP atitinka lentelės "db" laukelį "ip", bet kad rodytų tik tą lentelę, kur "ip" atitinka serverio IP... Nežinau, supratot, ar ne, bet dabar turėtų būti aišku :/

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Vienu žodžiu... Bandau paskutinį kartą.. Man reikia kažkaip sukonfiguruoti MySQL ar kažką kito, kad eitų prisijungti tik iš to adreso ir/ar serverio (ne vartotojo), kurio IP atitinka lentelės "db" laukelį "ip", bet kad rodytų tik tą lentelę, kur "ip" atitinka serverio IP... Nežinau, supratot, ar ne, bet dabar turėtų būti aišku :/

 

O ką prisijunges darys? Serveris kuris jungiasi turės matyti kažkokius duomenis? Kokius veiksmus jis atliks prisijungęs?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Serveris prisijungęs galės matyti ir atlikti veiksmus tik toje lentelėje, kurioje laukelyje "ip" atitinka jo IP adresas ir/ar jeigu kitas serveris ar vartotojas jungsis, jam rodys, jog duomenys neteisingi, arba leidimo nėra. Taipogi kiti serveriai negalės prisijungti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip supratau turi daug ip, jie gali prisijungti prie tavo DB.

DB turi daug lentelių:

a

b

c

d

 

Ir prie tų lentelių gali prisijungti tik tam tikri IP:

Tarkim:

 

ip(x) --> TABLE a;

ip(x) -x> TABLE b;

 

Ar ne?

 

http://stackoverflow.com/questions/15955052/how-do-i-grant-remote-access-to-one-particular-mysql-table

Redagavo laurynasdm
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Toks jausmas, kad zmogau nesuvoki kas yra user access control duomenu bazese.

 

Tavo problemai isspresti uztenka paprastu duomenu bazes vartotoju, kur nurodai:

-vartotojo varda

-is kokio IP gali tas vartotojas prisijungti

-kurias table gali pasiekti ir ka su jomis daryti

 

Jeigu nenori tureti keliu skirtingu vartotoju vardu, gali pasidaryti, kad access lygis priklausytu tik nuo IP, o ne nuo vartotojo vardo.

 

Nebandyk isradineti dviracio ir deti vartotoju IP i lentele ir priskirineti teises.

 

Aplamai, access control i duomenu baze neturetu buti atvaizuojama tavo PHP kode, vienintelis dalykas, kuris ten turetu but tai nebent routing jeigu naudoji kelias duom bazes.

Redagavo Ispirit
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...