Archívum - 140703 - Fórum téma
november 21
Felhasználó azonosítás - Alapszintű biztonság
Üdv !
Ennél jobb címet sajnos nem igazán tudtam kitalálni :) Tehát most konkrét tapasztalatokra lennék kíváncsi a felhasználó azonosítás terén. Nekem eddig ez volt a "jól bevált" és nem túl bonyolult módszerem :
1. Sikeres Bejelentkezésnél session_start(); indítása, majd a felhasználónév - jelszó páros és az aktuális idő tárolása mondjuk a $_SESSION['name'], $_SESSION['pass'], és a $_SESSION['time'] változóban.
2. Minden egyes tevékenységnél, tehát ami az oldal frissítésével jár meghívódik például a következő függvény vagy valami ilyesmi :3. És akkor ennyi...lenne...
Biztosan irtó gyenge megoldás, és legalább 236987 sebből vérzik ezért érdekelne hogy hogyan kéne ezt szakszerűbben csinálni, (feltételezve hogy lehet jobban is) ? :)
A válaszokat előre is köszönöm :)
■ Ennél jobb címet sajnos nem igazán tudtam kitalálni :) Tehát most konkrét tapasztalatokra lennék kíváncsi a felhasználó azonosítás terén. Nekem eddig ez volt a "jól bevált" és nem túl bonyolult módszerem :
1. Sikeres Bejelentkezésnél session_start(); indítása, majd a felhasználónév - jelszó páros és az aktuális idő tárolása mondjuk a $_SESSION['name'], $_SESSION['pass'], és a $_SESSION['time'] változóban.
2. Minden egyes tevékenységnél, tehát ami az oldal frissítésével jár meghívódik például a következő függvény vagy valami ilyesmi :
function loginValidate(){
session_start();
// Ha léteznek a változók...
if(isset($_SESSION['name']) && isset($_SESSION['pass']) && isset($_SESSION['time'])){
// Ha létezik a felhasználónév - jelszó páros és nem járt még le a 10 perc...
if(ifUser($_SESSION['name'], $_SESSION['pass']) && (time() - $_SESSION['time'] < 600)){
// Akkor az idő frissítése és az id újragenerálása hogy kicsit biztonságosabb legyen
$_SESSION['time'] = time();
session_regenerate_id();
} else {
// Különben destroy, és mehet vissza a bejelentkezéshez
session_destroy();
header('Location: login.php');
exit();
}
} else {
// Különben mehet vissza a bejelentkezéshez
header('Location: login.php');
exit();
}
}
Biztosan irtó gyenge megoldás, és legalább 236987 sebből vérzik ezért érdekelne hogy hogyan kéne ezt szakszerűbben csinálni, (feltételezve hogy lehet jobban is) ? :)
A válaszokat előre is köszönöm :)
november 20
Új, Ajaxal hívott html oldalon nem működik a javascript
Sziasztok!
Adott egy php script, ami egy html kimenetet ad. Ebbe a html kimenetbe tettem bele egy gombot, amit rákötöttem egy ajax hívásra. Eddig ez tiszta sor, mint ahogy egy normál oldalnak működnie kell, műxik ez is.
Ajax segítségével meghívok szintén egy php-t, tulképpen így postolok adatokat majd a php kimenetét beleírom az oldalba az ajax hívás végén. Ez is megy.
Ami nem megy és kezdek megőrülni tőle..:
Az Ajax hívás során a php generált egy html-t. Ebbe tettem egy ilyen js-t.
... html további részek
<script type='text/javascript'>
alert('mukodj');
</script>
... html további részek
Nohh a bajom az hogy a kód köré épülő html elemek csodásan lefutnak, megjelennek a szövegek meg minden, de ez a javascript semmi pénzért nem műxik. Tudnátok ebben segíteni, hogy miért lehet ez? Nem vagyok egy nagy JS mágus és itt elakadtam.
Köszi előre is!
■ Adott egy php script, ami egy html kimenetet ad. Ebbe a html kimenetbe tettem bele egy gombot, amit rákötöttem egy ajax hívásra. Eddig ez tiszta sor, mint ahogy egy normál oldalnak működnie kell, műxik ez is.
Ajax segítségével meghívok szintén egy php-t, tulképpen így postolok adatokat majd a php kimenetét beleírom az oldalba az ajax hívás végén. Ez is megy.
Ami nem megy és kezdek megőrülni tőle..:
Az Ajax hívás során a php generált egy html-t. Ebbe tettem egy ilyen js-t.
... html további részek
<script type='text/javascript'>
alert('mukodj');
</script>
... html további részek
Nohh a bajom az hogy a kód köré épülő html elemek csodásan lefutnak, megjelennek a szövegek meg minden, de ez a javascript semmi pénzért nem műxik. Tudnátok ebben segíteni, hogy miért lehet ez? Nem vagyok egy nagy JS mágus és itt elakadtam.
Köszi előre is!
replace()
Sziasztok!
Adott a lent található kód, mellyel e-mail címeket szeretnék kódolni, nyilván nem számokkal, ahogy a példában van, de így tűnt ki, hogy mi is a gond. A @ karakter dekódolásánál nem cseréli le a jelet "27."-ről magára a jelre. Keresgéltem itt-ott, de nem találtam, hogy miért van ez, talán ti tudtok segíteni.
■ Adott a lent található kód, mellyel e-mail címeket szeretnék kódolni, nyilván nem számokkal, ahogy a példában van, de így tűnt ki, hogy mi is a gond. A @ karakter dekódolásánál nem cseréli le a jelet "27."-ről magára a jelre. Keresgéltem itt-ott, de nem találtam, hogy miért van ez, talán ti tudtok segíteni.
<script>
var eredeti=new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","\@");
var kodolt=new Array("01.","02.","03.","04.","05.","06.","07.","08.","09.","10.","11.","12.","13.","14.","15.","16.","17.","18.","19.","20.","21.","22.","23.","24.","25.","26.","27.");
function coder(str){
for(var i=0;i<=str.length;i++){
str=str.replace(eredeti[i],kodolt[i],"g");}
document.write(str);}
function decoder(str){
for(var i=0;i<=str.length;i++){
str=str.replace(kodolt[i],eredeti[i],"g");}
document.write(str);}
coder("valami##kukac##valami.hu");
decoder("22.01.12.01.13.09.27.22.01.12.01.13.09..08.21.");
</script>
Függvényből való kilépés, visszalépés.. lehetséges? (php5.x)
Sziasztok!
Van egy függvényem, azon belül - sokminden más mellett - egy tömböt feltöltő ciklus.
Ez a tömb 30-50 MBytenyira is simán meghízik, így elérem a max memória-korlátot és lehal a progi.
A címben látható dologra gondoltam, azonban nem tudom hogyan lehet megvalósítani :(
X elemenként a függvény kidobná az addigi eredményt, majd a tömböt törölném és egy újba kezdenék belepakolni.
Tehát szeretnék valamilyen úton-módon visszakerülni a ciklusba (és az azt tartalmazó függvénybe) és folytatni azt.
Ötletek?
Vagy rossz az elgondolás is?
■ Van egy függvényem, azon belül - sokminden más mellett - egy tömböt feltöltő ciklus.
Ez a tömb 30-50 MBytenyira is simán meghízik, így elérem a max memória-korlátot és lehal a progi.
A címben látható dologra gondoltam, azonban nem tudom hogyan lehet megvalósítani :(
X elemenként a függvény kidobná az addigi eredményt, majd a tömböt törölném és egy újba kezdenék belepakolni.
Tehát szeretnék valamilyen úton-módon visszakerülni a ciklusba (és az azt tartalmazó függvénybe) és folytatni azt.
Ötletek?
Vagy rossz az elgondolás is?
november 19
css fájlok - kimaradt mértékegység méretezésnél
Sziasztok!
Ha egy css fájlban a méret megadásánál kimarad a mértékegység és az érték nem nulla, akkor ez mivel jár? Lassíthatja ez a lap betöltését ami ezt használja például Internet Explorernél? Esetleg az ilyen hibás bejegyzéseket valami "default" mértékegységgel használja?
pl main.css-ben:
padding:20;
top:20;
Köszi!
Mikroman
■ Ha egy css fájlban a méret megadásánál kimarad a mértékegység és az érték nem nulla, akkor ez mivel jár? Lassíthatja ez a lap betöltését ami ezt használja például Internet Explorernél? Esetleg az ilyen hibás bejegyzéseket valami "default" mértékegységgel használja?
pl main.css-ben:
padding:20;
top:20;
Köszi!
Mikroman
Partner programhoz banner követéses rendszer
Saját készítésű php-mysql alapú weboldalamhoz szeretnék készíteni egy partner-programot (angol nevén affiliate program). Lényege, hogy regisztrációkor meg lehet adni a "Partner azonosító" mezőben egy azonosító számot, és ha valaki így regisztrál, akkor a beírt "Partner azonosító"-val rendelkező ember alá regisztrál be. Ha ez az új regisztráló az oldalamon vásárol, akkor a megadott partner ezért jutalékot kap. Ha én pl. ajánlom személyesen egy ismerősömnek az oldalt, és leírom neki egy cetlire a kódomat, hogy regisztrációkor ezt ne felejtse el megadni, akkor természetesen probléma nélkül működik a dolog.
Az elképzelés úgy bonyolódik, hogy ezt a rendszert szeretném kiegészíteni egy banner követéses alrendszerrel. Ennek lényege, hogy ha a felhasználót érdekli a partner-program, és van neki egy vagy több weboldala, akkor kitehesse a banneremet, és aki ezen keresztül jut el az oldalra és regisztrál, az automatikusan az ő partnere.
Ötletem az, hogy először is a felhasználónak meg kell adnia azokat a célwebdolalakat, amelyekre szeretné kirakni a bannereimet. Ezeket a weboldalakat átnézem, mielőtt engedélyezném a megjelenést, mert nekem fontos, hogy igényes oldalakon jelenjenek meg a hirdetéseim, és holmi pornó, warez, dj haknijancsi oldalán ne jelenhessen meg partner program szinten, mert az rontja az én márkanevemet. Amint elfogadtam a webcímeket fontos, hogy csak az innen érkező felhasználók legyenek a weboldal tulajdonos automatikus partnerei, az előbb taglalt szerkesztési irányelvek miatt.
Programozás szempontjából úgy oldanám meg, hogy miután elfogadtam az általa beküldött célweboldalakat, publikálnám számára a megfelelő HTML kódot, amit beilleszthet az oldalára. Ez egy képlink-ből áll, amely megjelenít egy általa választott bannert a lehetőségek közül, tehát az én weboldalam /banners mappájából jelenítené meg a képet az ő weboldalán. A képre kattintva eljuthatunk az én saját weboldalamra egy GET kiegészítéssel, amely tartalmazza a tulajdonos azonosítóját.
Az elképzelés úgy bonyolódik, hogy ezt a rendszert szeretném kiegészíteni egy banner követéses alrendszerrel. Ennek lényege, hogy ha a felhasználót érdekli a partner-program, és van neki egy vagy több weboldala, akkor kitehesse a banneremet, és aki ezen keresztül jut el az oldalra és regisztrál, az automatikusan az ő partnere.
Ötletem az, hogy először is a felhasználónak meg kell adnia azokat a célwebdolalakat, amelyekre szeretné kirakni a bannereimet. Ezeket a weboldalakat átnézem, mielőtt engedélyezném a megjelenést, mert nekem fontos, hogy igényes oldalakon jelenjenek meg a hirdetéseim, és holmi pornó, warez, dj haknijancsi oldalán ne jelenhessen meg partner program szinten, mert az rontja az én márkanevemet. Amint elfogadtam a webcímeket fontos, hogy csak az innen érkező felhasználók legyenek a weboldal tulajdonos automatikus partnerei, az előbb taglalt szerkesztési irányelvek miatt.
Programozás szempontjából úgy oldanám meg, hogy miután elfogadtam az általa beküldött célweboldalakat, publikálnám számára a megfelelő HTML kódot, amit beilleszthet az oldalára. Ez egy képlink-ből áll, amely megjelenít egy általa választott bannert a lehetőségek közül, tehát az én weboldalam /banners mappájából jelenítené meg a képet az ő weboldalán. A képre kattintva eljuthatunk az én saját weboldalamra egy GET kiegészítéssel, amely tartalmazza a tulajdonos azonosítóját.
mod_rewrite
Sziasztok,
Van egy .htaccess fájl:
DirectoryIndex valami.php
RewriteEngine on
RewriteBase /weboldal/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ valami.php?rewrite=$1 [QSA]
Egy hivatkozás így néz ki: <a href="foldal/aloldal">Link</a>
ez a böngészőben így jelenik meg: http://www.mydomain.hu/weboldal/foldal/aloldal
Ha ismét rákatintok a linkre akkor:
http://www.mydomain.hu/weboldal/fooldal/fooldal/aloldal
Újabb kattintásra:
http://www.mydomain.hu/weboldal/fooldal/fooldal/fooldal/aloldal
Ez miért van?
Köszönettel:
Gergő
■ Van egy .htaccess fájl:
DirectoryIndex valami.php
RewriteEngine on
RewriteBase /weboldal/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ valami.php?rewrite=$1 [QSA]
Egy hivatkozás így néz ki: <a href="foldal/aloldal">Link</a>
ez a böngészőben így jelenik meg: http://www.mydomain.hu/weboldal/foldal/aloldal
Ha ismét rákatintok a linkre akkor:
http://www.mydomain.hu/weboldal/fooldal/fooldal/aloldal
Újabb kattintásra:
http://www.mydomain.hu/weboldal/fooldal/fooldal/fooldal/aloldal
Ez miért van?
Köszönettel:
Gergő
Php- függvény hívása a megadott kontextusban
Sziasztok!
Egy függvényt szeretnék meghívni egy objektum kontextusában, vagy átadni neki másik kontextusból adatot.
(kontextus=scope, jobb fordítást nem találtam)
Egyelőre az egyedüli működő megoldás a $GLOBALS használata, ill. php4 alatt létezik olyan, hogy aggregate, viszont nekem php5-ös megoldásra van szükségem.
Tud valaki ilyet?
■ Egy függvényt szeretnék meghívni egy objektum kontextusában, vagy átadni neki másik kontextusból adatot.
(kontextus=scope, jobb fordítást nem találtam)
Egyelőre az egyedüli működő megoldás a $GLOBALS használata, ill. php4 alatt létezik olyan, hogy aggregate, viszont nekem php5-ös megoldásra van szükségem.
Tud valaki ilyet?
november 18
Debian apache2 virtual host name gond
Sziasztok,
felallitottam egy debian 5 rendszert, ahol mindent feltelepitettem es beallitottam, de egy valamivel nem tudok dulore jutni espedig a kovetkezo.
Van egy beallitott apache2.2 server egy virtualhostname -mel az apache2ctl -S opcioval elvileg lathato (bar ez csak script fajl szintaxis ellenorzes, de elvileg jo). A sites-enabled konyvtarban talalhato fajlban (symlink) a kovetkezo vanaz oldal elerheto a bongeszobol a localhost/~deploy/ eleresi uttal, de a deployserver.local eleresi uttal nem. A szerver ip cime es a kivant host name hozza van adva a kliens gepen a host fajlhoz.
Sokat kerestem a neten, de lehet mar tul sokat agyaltam rajta es nem latom a fatol az erdot :-)
A kerdesem az lenne, hogy mit kellene megnezem, leellenoriznem, hogy helyesen van e irva?
Koszonettel
Sanyi
■ felallitottam egy debian 5 rendszert, ahol mindent feltelepitettem es beallitottam, de egy valamivel nem tudok dulore jutni espedig a kovetkezo.
Van egy beallitott apache2.2 server egy virtualhostname -mel az apache2ctl -S opcioval elvileg lathato (bar ez csak script fajl szintaxis ellenorzes, de elvileg jo). A sites-enabled konyvtarban talalhato fajlban (symlink) a kovetkezo van
<VirtualHost *:80>
ServerAdmin bolla.sandor##kukac##*******.com
ServerName deployserver.local
ServerAlias *.deployserver.local
DocumentRoot /home/deploy/public_html/
<Directory /home/deploy/public_html/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
ErrorLog /home/deploy/logs/error.log
LogLevel warn
CustomLog /home/deploy/logs/access.log combined
ServerSignature Off
</VirtualHost>
Sokat kerestem a neten, de lehet mar tul sokat agyaltam rajta es nem latom a fatol az erdot :-)
A kerdesem az lenne, hogy mit kellene megnezem, leellenoriznem, hogy helyesen van e irva?
Koszonettel
Sanyi