Autor Zpráva
speedees
Profil
Zdravím,

delam portál, ktery ma slouzit jako prihlasovaci brana do různych webovych aplikaci.

Po prihlaseni uzivatele do portálu se na strance vygenerují formulaře pomoci kterych se uzivatel dostane do dalších aplikaci jako např. fórum, chat atd. Odpadá tak nutnost se prihlasovat to každé aplikace zvlašť.

A ted ten k dotazu
formulář pro prihlášení např do fóra vypada takto
<form id="5" action="http://ligavozick.skynet.cz/forum/login.php" method="post" target="_blank">
<input type="hidden" name="username" value="user" />
<input type="hidden" name="password" value="xxxxx" />
<input type="hidden" name="redirect" value="" />
<input type="hidden" name="login" value="P%F8ihl%E1%9Aen%ED" />
<a href="javascript: dosubmit('5')">Ligafórum</a>
</form>


Prostě to heslo je tam natvrdo napsané. Což asi neni moc dobré řešení. Sice ho může zobrazit jen ten uživatel ke kterému patří ale ani tak to asi neni moc dobré.
Takže bych chtěl poradit jestli by to heslo šlo nějak skrýt?

Anebo jsem zkoušel ten Post Request poslat pomocí CURL
ale tohle (nasel jsem nekde na netu):
<?
$url = "http://ligavozick.skynet.cz/forum/login.php";
$post = "username=user&password=xxxx&redirect=&login=P%F8ihl%E1%9Aen%ED";
 $ch = curl_init($url);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($ch);
curl_close($ch);
?>

nefunguje. Poradí někdo jak to vyladit?


Takže jde o to buď vyladit ten CURL aby dělal to co má.
Nebo nějak nezobrazovat ten řádek
<input type="hidden" name="password" value="xxxxx" />
přímo v HTML stránce ale po odeslání formuláře nějak to password vytáhnout z databáze a připojit ho k POST requestu. Ale jak? :)
Mastodont
Profil
A ty "různé webové aplikace" jsi psal ty? Pro přihlášení do více aplikací jedním zadáním jména a hesla najednou totiž máme různé Single Sign-On systémy ...
speedees
Profil
Různé webové aplikace jsem nepsal já ale je to např phpBB forum atd. běžící na jiném serveru.
A různé Single Sign-On systémy taky nechci.
AM_
Profil
Anebo jsem zkoušel ten Post Request poslat pomocí CURL
ale tohle (nasel jsem nekde na netu): ... nefunguje. Poradí někdo jak to vyladit?

Každý program funguje. Zřejmě jsi chtěl říct, že to nedělá to, co chceš, aby to dělalo, takže to zřejmě dělá něco jiného nebo to hází chybovou hlášku. Co to tedy dělá nebo jakou hlášku?
speedees
Profil
Ano, nedělá to to co chci aby to dělalo.

Když zadám nějake neplatné přihlašovací údaje tak se sice načte ta požadovaná stránka, ale nezmění se url v prohližeči. Tak se to asi má chovat, ale nejde to nejak zmenit?

No a když zadám nějaké platné údaje pro přihlášení, tak to vráti pouze TRUE (vypíše "1"). A já bych potřeboval aby prostě proběhlo přihlášení do toho fóra a zaroven aby se zmenila i adresa v prohližeči. Umí vůbec tohle curl?
AM_
Profil
Aha, už začínám chápat, oč se snažíš. Řešil bych to takhle: na serveru se přes CURL pouze přihlaš a pak pošli uživateli cookie PHPSESSID, kterou bys tak měl získat. Bohužel to nepůjde na serverech, které si hlídají IP přihlášeného uživatele, to mě teď nenapadá jestli je vůbec možné obejít. K čemu vlastně chceš, aby program sloužil?
a) ochrana hesel uživatele, aby je neměl uložené v počítači - to bude problém, o kterém mluvím, nevím, jestli řešitelný
b) zjednodušení práce uživateli, aby si je všechny nemusel pamatovat - tady by byla vhodnější aplikace v uživatelově PC, která hesla spravuje. Tuto funkci má ale většina moderních prohlížečů - "zapamatovat heslo" - pak se většinou lze přihlásit do jakékoli služby s uloženým heslem jednoduchou kombinací kláves (př. Opera - ctrl+enter), takže je zbytečné psát si vlastní program

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: