ugrás a tartalomhoz

Archívum - 2011

szeptember 8

Cutting the Gordian Knot of Web Identity

Joó Ádám · 2011. Szep. 8. (Cs), 15.59
Ötlet autentikációs protokollra
 

preg_replace-el idézőjel és backslash kezelése

Jazoja · 2011. Szep. 8. (Cs), 03.30
Kis preg_replace segítségre lenne szükségm.
Klienstől kapott html adatokból szeretnék szanálni.
Nevezetesen az img tag-ben szereplő
width="598"
-at (és társait) próbálom eltüntetni, de az idézőjel és backslash miatt kicsit elakadtam.

A problémát kicsit nehezíti, hogy mikor a szerveren kiíratom a megfelelő változót, akkor abban extra backslash-ek vannak:
width="\"598\""
Utoljára már ezzel próbálkoztam:
preg_replace('/width=[\\"][\\\\][\\"]([0-9])*[\\\\][\\"][\\"]/', "valami", $content);
A [:punct:],[:digit:] kifejezésekre a szerver hibát dobott (valami POSIX-ot emlegetett benne, nem jegyeztem meg)
 

szeptember 7

Saját SESSION kezelés

smart · 2011. Szep. 7. (Sze), 16.33
Sziasztok, egy olyan triviális kérdéssel fordulnék hozzátok, hogy mi haszna származik abból az embernek, ha nem a beépített SESSION-t használja, hanem sajátot ír?

A kérdés alapötletét a "SESSION eltünedezik." fórumtéma adta.

Az ott feltüntetett kódot megnézve bennem több kétely is felmerült. A módszer előnyét viszont egyáltalán nem látom. Gyorsabb? Biztonságosabb? Ad valami extra funkciót? Miért jó ilyet csinálni? :)
 

Vertical image

Bodi · 2011. Szep. 7. (Sze), 14.07
Üdv!

A mellékelt képen szeretném illusztrálni mi a célom.



A megvalósításában szeretném kérni a segítségeteket.
<?php if (MAX_IMAGE_NUM>0){?>
		<div id="kepek">
			<?php 
			foreach($tetelImages as $image){
				echo '<p href="'.$image[0].'" title="" id="fancy"['.$idtetel.']">
				 		<img class="thumbs" src="'.$image[1].'" title="" alt="" />';
			}
			?>
			<div class="leiras"><?php echo $tetelDesc;?></p></div>
<div class="ures"></div>
			</div>
	    <?php }?>
3 képet tölthetnek fel a felhasználók és ezt szeretném rendezni függőleges formában.Odáig rendben is van a dolog,hogy a képeket függőlegesen elhelyezem.De akkor a szöveg nem stimmel.

Egy másik szisztéma:<a> </a>
<?php if (MAX_IMAGE_NUM>0){?>
		<div id="kepek">
			<?php 
			foreach($tetelImages as $image){
				echo '<p href="'.$image[0].'" title="" id="fancy"['.$idtetel.']">
				 		<img class="thumbs" src="'.$image[1].'" title="" alt="" />';
			}
			?>
			<div class="leiras"><?php echo $tetelDesc;?></p></div>
<div class="ures"></div>
			</div>
	    <?php }?>
A szöveg stim, de a képek vízszintesen helyezkednek el.

Köszi mindenkinek előre is a választ.
 

szeptember 6

Egy német IT-lap szívatja a Facebookot

Hidvégi Gábor · 2011. Szep. 6. (K), 18.35
Kidolgoztak egy módszert, hogy a Facebook ne férhessen hozzá az őt meg nem illető adatokhoz
 

SESSION eltünedezik.

gtoma · 2011. Szep. 6. (K), 16.02
Sziasztok!

Elég sokat használok AJAX technológiát, és rendszeresen visszatér egy probléma.
PHP val mentek sessinba adatokat, és néha, a doom betöltődése utáni közvetlen ajax lekérést kezelő PHP nem látja a sessiont.

Példa:
printelem ezt:

$_SESSION['labda'] = 52;

print "
<script>
ajaxlekeres();
</script>
"
Ez mondjuk a JS:

function ajaxlekeres() {
    var BaseURL = 'server.php';
    var myPars      = 'com='+comok+'&rnd='+this.RND;
    var myAjax = new Ajax.Request( BaseURL, {
                parameters: myPars,
                onComplete: FrissitesUpdate
    });
}
function FrissitesUpdate(originalRequest) {
    $('target').innerHTML = originalRequest.responseText;
}
server.php:

print $_SESSION['labda';
Ez persze csak egy példa. Az elv a lényeges.
Hogy néha, ilyenkor a server.php "elveszti" a sessiont.
Persze nem mindig.

Elképzelni sem tudom, hogy mi lehet a probléma hátterében.

A rendszer amit használok elég sokszor dolgozik ajax megoldással. (prototype)
Valakitől hallottam, hogy csak x db ajax lekérés futhat egy időben. Lehet esetleg ez a probléma, de akkor miért KEZELŐDIK a lekérés, és miért csak a
session tűnik el?
Miért "instabilitás" a jellemző a dologra, ahelyett, hogy egyszerűen nem működne?

Már párszor találkoztam ezzel a problémával, de sajnos még senki nem tudott választ adni a miértre.

Tudom, hogy ez a kérdés nem csak php témába tartozik, azért raktam ide, mert a fő tünet php-re vonatkozik.
 

Javascript tömb átadása másik tömbnek

Totti 1986 · 2011. Szep. 6. (K), 15.22
Sziasztok!

Egy eléggé érthetetlen hibába ütköztem, és nem tudok rájönni, mi lehet a hiba oka.
Van egy függvényem:

[colorer=js]
function listing(items_tmp) {
var list_tmp = '';

// ne maradjon benne korabbi adat
last_array['arg1'].length = 0;
last_array['arg2'].length = 0;
last_array['arg3'].length = 0;

// hibakereseshez
list_tmp += last_array['arg1'][1] + '|';
list_tmp += last_array['arg1'][2] + '|';
list_tmp += array['arg1'][1] + '|';
list_tmp += array['arg1'][2] + '<br />';

// azonnal attenni az aktualis listat a korabbi listaba
last_array = array;

// hibakereseshez
list_tmp += last_array['arg1'][1] + '|';
list_tmp += last_array['arg1'][2] + '|';
list_tmp += array['arg1'][1] + '|';
list_tmp += array['arg1'][2] + '<br />';

// ne maradjon benne korabbi adat
array['arg1'].length = 0;
array['arg2'].length = 0;
array['arg3'].length = 0;

// legujabb adatok
for(var i in items_tmp) {
var one_item_tmp = items_tmp[i].split('|');
array['arg1'][one_item_tmp[0]] = one_item_tmp[0];
array['arg2'][one_item_tmp[0]] = one_item_tmp[1];
array['arg3'][one_item_tmp[0]] = one_item_tmp[2];

// hibakereseshez
list_tmp += last_array['arg1'][one_item_tmp[0]] + '|' + array['arg1'][one_item_tmp[0]] + '

szeptember 5

Javascript

iddqd · 2011. Szep. 5. (H), 14.36
Hello mindneki! Tud valaki ajánlani jó tankönyvet, anyagot vagy jegyzeteket Javascriptről?! Akár pdf-ben ( de nem beszkennelt könyvet ,) akár könyv formában!
A javascript 24 órán belűlön kívül, nem hallottam túl jó véleményeket róla. Ha lehet magyar nyelven, nem állok hadilábon az angollal de szakmait azért szívesebben olvasok magyarul. Köszi előre is!
 

szeptember 4

Js-el generált input és történtete

elek9914 · 2011. Szep. 4. (V), 20.21
Sziasztok!

Kérném a segítségetek a következőben:
Adott egy form, benne mindenféle és típusú mezővel. Van egy select, amivel kapcsolatban nem lehet előre tudni, hogy hány darabra lesz szükség az űrlap kitöltésekor, úgyhogy a felhasználó magának generál egy link+javascript segítségével annyit amennyire szüksége lesz.
A baj az, hogy sajnos ezek a generált beviteli mezők elküldés után nem kerülnek be a
$_POST
- ba, egyik sem. Csak az az egy amit nem js generált hanem alapból adott volt!

Az 1 darab adott select neve:
name="sor1"
az összes generált = sor2, sor3, sor4.....

Így a
$_POST['sor1']

okés lesz, de a
$_POST['sor2']
és társai már nem. Egyszerűen nincs ilyen index.

A kérdésem az, hogy így volt ez mindig? És keressek más megoldást erre? Vagy én rontok el valamit és mennie kellene?
Köszönöm,
Elek
 

szeptember 4

Brute-force elleni védekezés

gabesz666 · 2011. Szep. 3. (Szo), 22.29
Sziasztok!

Éppen egy login rendszert rakok össze, működik is szépen, viszont jó fejlesztőként gondolnom kell a kevésbé jóakaratú felhasználókra is, akik tesztelni fogják a rendszert, úgy hogy ráengednek pl. pár ezer request-et. Abban az esetben, ha jó felhasználónevet, de rossz jelszót ad meg a bejelentkezni kívánó user, a próbálkozást letárolom és 5 rossz próbálkozás után fél óráig nem engedem próbálkozni. Mit gondoltok, van-e hátulütője ennek a módszernek? Abban az esetben, ha viszont mindkét adat helytelen egy olyan megoldásra jutottam, hogy a válasz visszaadását késleltetem egy másodperccel (sleep-el). Ez azonban addig megoldás csak, amíg aszinkron lekéréseket csinál a user. Feltehetőleg azonban nem ez lesz a helyzet. Ekkor eszembe jutott, hogy egy IP-ről csak egy kérést engedélyezek egy időben, de ebben az esetben meg a proxy mögött levők szívják meg. Sajnos eddig jutottam! Volna-e valami ötletetek, amivel mindenki jól jár kivéve a támadókat?