Archívum - 2011
szeptember 8
preg_replace-el idézőjel és backslash kezelése
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ő-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:Utoljára már ezzel próbálkoztam:A [:punct:],[:digit:] kifejezésekre a szerver hibát dobott (valami POSIX-ot emlegetett benne, nem jegyeztem meg)
■ Klienstől kapott html adatokból szeretnék szanálni.
Nevezetesen az img tag-ben szereplő
width="598"
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\""
preg_replace('/width=[\\"][\\\\][\\"]([0-9])*[\\\\][\\"][\\"]/', "valami", $content);
szeptember 7
Saját SESSION kezelés
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? :)
■ 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
Ü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.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>A szöveg stim, de a képek vízszintesen helyezkednek el.
Köszi mindenkinek előre is a választ.
■ 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 }?>
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 }?>
Köszi mindenkinek előre is a választ.
szeptember 6
Egy német IT-lap szívatja a Facebookot
Kidolgoztak egy módszert, hogy a Facebook ne férhessen hozzá az őt meg nem illető adatokhoz
■ SESSION eltünedezik.
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:Ez mondjuk a JS:server.php: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.
■ 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>
"
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;
}
print $_SESSION['labda';
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
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]] + '
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
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!
■ 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
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- ba, egyik sem. Csak az az egy amit nem js generált hanem alapból adott volt!
Az 1 darab adott select neve:az összes generált = sor2, sor3, sor4.....
Így a
okés lesz, de a é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
■ 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
Az 1 darab adott select neve:
name="sor1"
Így a
$_POST['sor1']
okés lesz, de a
$_POST['sor2']
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
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?
■ É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?