Sziasztok!
A következő kérdésem volna felétek, mert nem nagyon találtam itt fórumon rá választ:
- Hogyan tudom megcsinálni, hogy ha egy külső domainen (atw), fel van töltve egy acc reg. form, és a configfájlba bent van a static ip (-erről fellehet jönni a localhostos szerverre is másoknak), akkor azt hogyan tudnám működésre bírni, hogy "kívülről" is tudjanak accountot regisztrálni a szerverre?
Így néz ki perpillanat a config:
<?php
$con = mysql_connect("192.168.1.100/phpmyadmin/","user","jelszó");
if (!$con)
{
die('Could not connect!');
}
$user = $_POST['username'];
$pass = sha1(strtoupper($user.':'.$_POST['password']));
$email = $_POST['email'];
mysql_select_db("auth", $con);
$sql="INSERT INTO account (username, sha_pass_hash, email) VALUES ('$user','$pass','$email')";
if (!mysql_query($sql,$con))
{
die('Error creating account!');
}
echo "Account successfully created!";
mysql_close($con)
?>
Na már most, sajnos folyamatosan azt a hibát adja vissza a lekérdezés, hogy nem tud csatlakozni a Mysql szerverhez.
MySQL fut, Apache fut = Szerver is megy (mások is feltudnak rá jönni, csak consoleból kell accountot készíteni).
Az adatbázis táblák:
root@localhost
- auth
- characters
- world
Az elérési útnak jónak kell lennie. Apache-MySQL forward is megvan
Ha esetleg rossz úton járok, kérlek javítsatok ki!
Köszönöm a válaszokat előre is.
192.168.1.100/phpmyadmin/
Ez csak a routernek a hozzáférése.
Na mármost nem tudom hogy akkor a weblapra akarsz regisztrálást csinálni? És saját gépeden megy a szerver vagy máshol? Mert akkor annak a gépnek kéne az IP címét megadni, nem pedig a router címét :D
Saját gépről fut a szerver (mysql minden), mivel egy ilyen kisebb baráti társasággal akarunk bubuckodni.
Igen, hogy a router elérése, de ugye ha realmlsit-be azaz ip van megadva, feltudnak rá menni.
Mivel sajátról megy igy ha a 127.0.0.1-et adom meg, úgy meg élből kiköpi, tehát teljesen tanácstalan vagyok már :(
Illetve nem webre akarok usert létre hozatni vele, hanem a szerverre accountot.
Először is. Van amit a router add ip az a 192.168..... De neked nem ez kell. Hanem a gép IP címét kell megadnod, mind adatbázisban mind php kódban. Az hogy most a 192.168 at adod meg azzal senki nem tud semmit se kezdeni.
hmhm.. van pár lehetséges ip csak az a baj, hogy minden ismerősöm akik jönnének, töltik le a 4.0.6-ot így "élesben" senkivel sem tudtam még kipróbálni.
Esetleg valakinek van 4.0.6-os kliense és kis szabadideje, hogy kipróbálja velem az ipket, hogy melyik engedi fel? :3
Ez az ip fog neked kelleni: http://whatismyipaddress.com/
Ezen kívül a szükséges portokat ki kell hogy engedd a router-en.
Legyen a root felhasznalo egyik host - ja: % (HA dinamikus IP - rol csatlakozol)
VAGY keszits uj felhasznalot:
GRANT ALL ON *.* TO 'FELHASZNALO'@'%' IDENTIFIED BY 'JELSZO';
(Ezzel minden jogot megadsz az uj felhasznalonak)
Workbench - ben avagy kozvetlenul a my.ini/my.conf file - ba ez legyen beallitva:bind-address=0.0.0.0
(Ezzel barmilyen TCP/IP kapcsolatot elfogad a MySQL server)
A skip-networking Workbench - ben ne legyen kipipalva, myini/my.conf - ban pedig legyen elotte # jel.
(Hangsulyozom, ilyen beallitasokat normal esetben nem teszunk)
Ezen beallitasok utan ujra kell inditani a MySQL server - t.
3306 port legyen nyitva!
Teszt
mysql --host=SZERVER_IP --port=3306
[/s]
UPDATE:
Most esett le, hogy Te mit is szeretnel igazabol. Ha a MySQL Server/Apache/PHP harmas fent van nalad, megfeleloen bekonfiguralva, akkor localhost - on elered a phpMyAdmin feluletet, es tudsz valamilyen programmal (pl.: SQLYog) direkt csatlakozni az adatbazis szerveredhez. Itt tartunk.
Ebben az esetben az "Account registration" oldal nalad lesz, es localhost - on el kell tudjad erni.
Kivulrol Teged a "router IP" cimen keresztul latnak, ez az, amit http://whatismyipaddress.com/ (http://whatismyipaddress.com/)
oldalon is latsz. Baratiadnak ezen az IP cimen kell zaklatniuk Teged.
Ha a cmd - be beirod az ipconfig parancsot, akkor kapsz az IPv4 Address mogott egy IP cimet.
Erre az IP - mre kell a 80 - as portot forward - olni a router feluleten.
Igen, ez már mind meg van oldva, fel tudnak jönni a szerverre, tehát mysql-t mindent elérek.
A problémám ott kezdődik, hogy akármennyire is töröm rajta magam, egy accreg felületet nem tudok létrehozni, itt pl gondolok erre:
- Adott egy atw-s domain, ahova feltöltöm ftpn regisztrációs felületet. (legjobb itt is az lenne, ha ezt is tudnám futtatni saját gépről, tehát pl a no-ip -s cimemet beirják böngészőbe és átirányítja őket a regisztrációs felületre).
- Azt szeretném elérni, hogy a fentebb említett oldalra feltöltöm az accreg felületet, ott tudják megcsinálni maguknak az accountot.
Na de itt jön a probléma:
Bárhogyan is configolom be az accreg felületet, mindig az a hiba jön vissza, hogy nincs kapcsolat a mysql szerverrel.
Próbáltam már a no-ip s cimet+direkt ipt (amiről feljönnek a szerverre) nem a no-ipn "regisztrált linket", a router ipt, a localhost ipt (127.0.0.1), de semmi, sehogy sem jön össze. :/
Ahha, akkor megsem ertettelek felre. Amit legeloszor irtam (es jelenleg at van huzva), az megis kell neked.
+ Legyen a 3306 port forward - olva a Te belso IP - dhez, es a tuzfalon is valoszinuleg be kell allitani.
(Azt szinten megjegyeznem, hogy biztonsagi szempontbol ez nagyon rossz dontes.)
Igen, valóban átgondoltam kicsit jobban, és igazad van, nem tul biztonságos. Akkor marad a jelentkezés utáni root accountreg.
Vagy a weboldalad nalad lenne elerheto, ugyanazon IP cim alatt, amivel a jatekosok csatlakoznak a szerverre. Igazabol ez az egyetlen ertelmes opcio. ;)
hmmm tetszik tetszik az ötlet :D már csak azt kéne kitalálnom, hogy azt hogyan tudom megvalósitani. localhoston soha nem volt még webem O.o
Szia. Ha kell egy általános webes kinézet akkor tudok neked segíteni. Szívesen segítek, csak keress fel.(FB or skype). Azt megcsináljuk neked.
Üdvözlettel Locutus