Autor Zpráva
Dominik Ludvík
Profil
Zdravím všechny, potřebuji poradit, protože už to začíná celkem spěchat a já nemám ani ponětí jak na to. Mám hotové www stránky, ale potřebuji ověřit uživatele předtím než se mu stránka zobrazí. Nechci to řešit databází protože je to prakticky nemožné. Takže mně napadlo toto. Mít stránku v PHP (asi?) ve které bude nějaký text "vítejte bla bla, pro vstup zadejte svůj email" a pod ním okno do kterého uživatel zadá svůj email a v momentě kdy bude mít email za zavináčem tvar xxxx.eu tak ho přehodí na ty www ale v momentě kdy tam bude cokoli jiného včetně xxxx.cz tak mu bude přístup odmítnut. O co jde, mějme dva tři okruhy uživatelů, kteří chtějí přistoupit na ty www, ale my tam chceme v pustit pouze první okruh.
První okruh má email cokoli@xxxx.eu
Druhý okruh má email cokoli@xxxx.cz
a třetí má cokoli@cokoli.cokoli
Neví někdo jak by se to dalo řešit?
P.S. Důležité je aby to rozlišovalo zda je za zavináčem přesně xxxx.eu nebo něco jiného, existuje totiž i ta stejná doména ale má na konci .cz a ta přístup mít nesmí. Ano vím dá se to oblbnout napsáním nějakého nesmyslu @xxxx.eu ale to zanedbejme. Díky
anonymníí
Profil *
Dominik Ludvík:
Když zanedbáváš tak snadno obejitelnou věc, tak je to prosté. strpos
Joker
Profil
Dominik Ludvík:
Primitivní varianta:
if (substr($_POST["email"], -3) == ".eu") {
// OK
}
else {
// Odmítnut
}

Pochopitelně tím projde cokoliv, co na konci bude mít .eu, včetně textu „.eu“, ale je to natolik slabá „ochrana“, že důkladnější kontrola snad ani nemá smysl.
Dominik Ludvík
Profil
ono nejde o to 100% zamezit přístupu ostatním ale o to aby permanentě měli přístup lidé prvního okruhu


tady jde o to aby prošlo poze xxxx.eu to znamená:
if (substr($_POST["email"], -3) == "@xxxx.eu") {
// OK
}
else {
// Odmítnut
}
juriad
Profil
Musíš změnit tu -3 na počet znaků, které kontroluješ. Joker zvolil 3, protože ".eu" má 3 znaky.
Dominik Ludvík
Profil
áha díky já si říkal že jsem něco přehlédl

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0