Hirdetés

2024. június 10., hétfő

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#13651) Tele von Zsinór válasza Speeedfire (#13649) üzenetére


Tele von Zsinór
őstag

Erre az a megoldás, hogy olyan limitet állítasz be, amin belül minden ésszerű helyzetben végeznie kell - a te helyzetedben mondjuk két órát.

(#13652) Speeedfire válasza Tele von Zsinór (#13651) üzenetére


Speeedfire
nagyúr

Szóval akkor maradjon a limit mindenképp, csak elég magasan kell behatárolni, ami alatt mindenképp végezni fog. :R

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#13653) Peter Kiss válasza Speeedfire (#13649) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Mi lenne, ha optimalizálnád azt a tárolt eljárást? :U

(#13654) Speeedfire válasza Peter Kiss (#13653) üzenetére


Speeedfire
nagyúr

Nem lehet ennél jobban. 30 percről indult anno, most tudtuk levinni ~10 percre. Elég sok adat mozog ott, amit egy clob mezőbe ír.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#13655) spammer


spammer
veterán

Ha .htaccess -ben le akarom védeni a php fájlokat, hogy direktben ne lehessen megnyitni őket (deny from all) akkor nem működnek az ajax hívások.

Console:
Failed to load resource: the server responded with a status of 403 (Forbidden)

Mi a praktikus és biztonságos megoldás ilyenkor? Ajaxos php fájlokat rakjam külön könyvtárba és azokat ne védjem htaccess-szel?

(Még csak localhoston megy a egész, online még odébb van...)

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

(#13656) spammer válasza spammer (#13655) üzenetére


spammer
veterán

Közben megtaláltam ezt [link].

Csak annyi, hogy ha ==, akkor jó, ha nem, akkor die.

if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

........

} else die;

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

(#13657) Tele von Zsinór válasza spammer (#13655) üzenetére


Tele von Zsinór
őstag

Amit nem akarsz, hogy elerjenek kivulrol, tedd a wwwrooton kivulre, es nem kell htaccess-el bohockodni.

(#13658) fordfairlane válasza spammer (#13656) üzenetére


fordfairlane
veterán

Ez nem arra való, hogy védd ezeket a fájlokat a közvetlen végrehajtástól. Lehet, hogy kezdőket át lehet verni, de nem olyan nehéz emulálni az HTTP_X_REQUESTED_WITH fejlécet.

Arra szokták használni, hogyha valaki fallback mechanizmust akar beépíteni arra az esetre, ha a felhasználó böngészője nem támogatja valamiért az ajaxot, akkor sima requestként kezeli a parancsot, és a teljes oldalt küldi a webszerver, míg ajax-lekérésnél, ha a requestben szerepel ez a HTTP_X_REQUESTED_WITH fejléc, csak az adott page - fragmentet küldi vissza.

Az ajax hívásokat ugyanúgy az a böngésző végzi, mint a nem aszinkron requesteket. Rendesen átgondolt és megírt felhasználói autentikációt és session kezelést kell használni, ha az ajax hívások direkt meghívása bajt okozhat.

[ Szerkesztve ]

x gon' give it to ya

(#13659) wis válasza spammer (#13656) üzenetére


wis
tag

A másik lehetőség, hogy az index.php-ben beállítsz egy konstanst, és az include-olt fájlok elején ellenőrzöd. Ha nincs akkor 404-es header és exit.

(#13660) spammer válasza fordfairlane (#13658) üzenetére


spammer
veterán

Jaja, tudom, hogy ez nem halálbiztos megoldás. Amúgy user előtt nem lesz semmi "kritikus" ajaxos dolog, ami okot adhatna, de jobb félni, mint megijedni alapon akarom védeni a dolgokat :) Meg tanulgatnom is, hogy mi lehet hasznos és mi nem.

(#13657) Tele von Zsinór: oké, még nem tudom mikor és melyik szerveren lesz, de ha lehet, akkor megoldom majd rooton kívül. Ettől függetlenül nem baj, ha van más megoldást is :)

(#13659) wis: köszi a tippet, kipróbálom majd ezt is :)

[ Szerkesztve ]

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

(#13661) fordfairlane válasza spammer (#13660) üzenetére


fordfairlane
veterán

Amúgy user előtt nem lesz semmi "kritikus" ajaxos dolog, ami okot adhatna, de jobb félni, mint megijedni alapon akarom védeni a dolgokat

Azért ne becsüld le őket. Felrak egy live http headers addont, és máris látja az összes requestet, az ajaxosokat is. Ha nem POST metódust használsz, csak bemásolja az url-be, és máris közvetlenül tesztelheti az ajax metódushívásokat. Ha ezt a fejlécellenőrzést berakod, akkor sem nyersz vele sokat. Átlag felhasználók nem szoktak ajax hívásokat nézegetni, profikat meg nem lehet ezzel a módszerrel távol tartani.

[ Szerkesztve ]

x gon' give it to ya

(#13662) spammer válasza fordfairlane (#13661) üzenetére


spammer
veterán

"Átlag felhasználók nem szoktak ajax hívásokat nézegetni, profikat meg nem lehet ezzel a módszerrel távol tartani."

Ez mondjuk igaz :D

Amúgy POST-ot használok.

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

(#13663) mobal


mobal
MODERÁTOR

Szükségem van egy RESTful API-ra, Android alkalmazás és egy adatbázissal történő kommunikációhoz. Az authentikálást miképpen tudom megoldani?

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#13664) cucka válasza mobal (#13663) üzenetére


cucka
addikt

A kliens belép felhasználónév+jelszó párossal, kap cserébe egy tokent. A további request-ekhez hozzácsapja a tokenjét, így tudod azonosítani. A token idővel lejár.
Lényegét tekintve nagyon hasonló a php session kezeléséhez.

(#13665) mobal válasza cucka (#13664) üzenetére


mobal
MODERÁTOR

Köszi! Token van is.

mobal,

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#13666) cucka válasza mobal (#13665) üzenetére


cucka
addikt

Az authentikációt HTTPS Basic authentikációval oldhatod meg, de használhatsz kész modult is (OAuth), stb.

(#13667) mobal válasza cucka (#13666) üzenetére


mobal
MODERÁTOR

Ennyire nem kell bonyolultnak lennie. Egyenlőre csak működjön titkosítás nélkül! :)

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#13668) wolandino


wolandino
tag

Sziasztok!

Néhány adminisztrátori tennivalót szeretnék napi rendszerességgel lefuttatni, és a kérdésem az lenne, hogy mi lenne ennek a megfelelő módja PHP-ben?
crontab-ról hallottam, de nem tudom, hogy másként meg lehet-e oldani.

Köszönöm,
W.

(#13669) mobal válasza wolandino (#13668) üzenetére


mobal
MODERÁTOR

Automatikusan cronnal.

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#13670) 19.Norbika válasza wolandino (#13668) üzenetére


19.Norbika
csendes tag

Ha minden áron ki akarod kerülni a cron használatát, akkor egy egyszerű script is megteszi. Mondjuk minden nap az első oldalbetöltésnél lefut és elvégzi amit akarsz. Ugyan ez nem annyira szép és elegáns megoldás, de esetenként a célnak megfelelhet.

[ Szerkesztve ]

Nightvis | www.nethq.hu - html,php,js,jquery,c#,sql programozás

(#13671) wolandino válasza 19.Norbika (#13670) üzenetére


wolandino
tag

nem azért kérdeztem, hogy kikerüljem, csak hátha van annál is egyszerűbb, ami nem jutott eszembe, de ezek szerint nincs, marad a cron:)

(#13672) WolfLenny


WolfLenny
senior tag

Sziasztok!

PHP-ban kollégám csinált egy rutint (vagy függvényt).

FUNCTION act_week($DATUM){
$enap=substr($DATUM,0,8)."01";
$evho=substr($DATUM,2,2).substr($DATUM,5,2);

return $evho.(date('W', strtotime($DATUM))-date('W', strtotime($enap))+1);

Hogy kell meghívnom ezt a függvényt, hogy egy tábla egyik mező (konkrétan date) adatai kerüljenek bele?

Előre is köszi a segítséget.

(#13673) Peter Kiss


Peter Kiss
senior tag
LOGOUT blog

(#13674) Speeedfire válasza Peter Kiss (#13673) üzenetére


Speeedfire
nagyúr

Mik ezek a nagy ugrások? Hogy kell értelmezni ezeket a számozásokat? :U

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#13675) Peter Kiss válasza Speeedfire (#13674) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Szerintem a lényeg nagyobb verzióváltáskor az a nyelvi újdonságok, pl. finally, 5.4-ben meg pl. lett trait.

(#13676) mobal válasza WolfLenny (#13672) üzenetére


mobal
MODERÁTOR

Gondolom az evho, echo akart lenni. Meghívni: függvény_neve($változó);

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#13677) WolfLenny válasza mobal (#13676) üzenetére


WolfLenny
senior tag

Kösz.

Kipróbáljuk..:)

(#13678) Tele von Zsinór válasza Speeedfire (#13674) üzenetére


Tele von Zsinór
őstag

Az érvényben levő release process éves ciklust határoz meg. Az 5.4 februárban jött ki, ezt is akkorra tervezték, de csúszott az utolsó pillanatban beesett OPcache miatt.

(#13679) kenwood válasza mobal (#13676) üzenetére


kenwood
veterán

sztem meg az év hónap roviditese :)
amugy hianyzik a kapcsos zarojel a vegerol.

[ Szerkesztve ]

Mi kell az alaplapba? Procibol egy, Rambo 2. <> Egyetlen vizmolekulaban tobb hidrogen atom van,mint ahany csillag az egesz naprendszerben

(#13680) WolfLenny válasza kenwood (#13679) üzenetére


WolfLenny
senior tag

Igen. evho változó neve.. :)

(#13681) Speeedfire


Speeedfire
nagyúr

Athlon64+ & Tele von Zsinór: Köszi mindkettőtöknek! :R

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#13682) mobal válasza WolfLenny (#13680) üzenetére


mobal
MODERÁTOR

Valóban, bocs benéztem. A végére pedig persze kell.

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#13683) WolfLenny válasza mobal (#13676) üzenetére


WolfLenny
senior tag

Nem működik.. :(

$zzz="select date,act_week($date) from proba_tabla";
$hho=$havidb->execute($zzz);

Eredménye:

(mysql): select date,act_week() from proba_tabla
--------------------------------------------------------------------------------
1305: FUNCTION lv_data_2012.act_week does not exist

Nem értem miért nem a proba_tabla-ből szedi?

(#13684) DeltaPower válasza WolfLenny (#13683) üzenetére


DeltaPower
őstag

Még szép, hogy nem működik. PHP függvényt próbálsz futtatni mysql-ben.
így kell:
$zzz="select date,{act_week($date)} from proba_tabla";

vagy ami biztos működik:
$zzz="select date,".act_week($date)." from proba_tabla";
az elsőben nem vagyok biztos, hogy stringen belül lehet függvényt is vagy csak sima változónevet

szerk: az első nem jó, max így:
$zzz="select date,{${act_week($date)}} from proba_tabla";

[ Szerkesztve ]

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#13685) CSorBA válasza DeltaPower (#13684) üzenetére


CSorBA
őstag

Szerintem meg mivel "-jelek között van, így előbb be fogja oda a dolláros változóba helyettesíteni az értéket a php. :U

illetve az act_week() nem php függvény, hanem saját sql rutin (Ha visszább olvasol, láthatod - először engem is megtévesztett)

[ Szerkesztve ]

(#13686) DeltaPower válasza CSorBA (#13685) üzenetére


DeltaPower
őstag

PHP-ban kollégám csinált egy rutint (vagy függvényt). szerintem pedig nem sql rutin, a #13672-ben írt szintaxis alapján.

szerk: a #13672 alapján viszont az előző hsz-em max szintaxisra stimmel, de nem éri el vele azt a működést amit a #13672-ben felvázolt...

[ Szerkesztve ]

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#13687) CSorBA válasza DeltaPower (#13686) üzenetére


CSorBA
őstag

Oh, akkor én olvastam rosszul, bocsi. Visszavonva :D

(#13688) spammer


spammer
veterán

Az alábbiakat eszközöltem:

- auto-logout 30 perc (Session: Ha utolsó aktivitás > 1800 sec, akkor session_unset, session_destroy). Ez Chrome miatt (is) kell, mert a böngésző bezárásával nem törlődik a session.

- login után egyből session_regenerate_id

- 15 percenként (mondjuk...) mindenképpen session_regenerate_id

Ez így oké, vagy nincs értelme 15 perceként is újragenerálni a session id-t? Biztonsági okokból nézve. SSL nem tudom, hogy megoldható-e, egyrészt mert még csak localhoston fut az egész és nem tudom, mikor és melyik szerveren lesz, másrészt ahogy látom ehhez vásárolni kellene tanúsítványt. Viszont az oldalon nem lesz semmi banki, pénzügyi vagy egyéb bizalmas információ/tranzakció, ezért nem is hiszem, hogy feltétlenül szükséges lenne ilyesmi. De azért nyilván amit lehet (ami alap dolog), azt szeretném elkövetni biztonsági szempontból :)

[ Szerkesztve ]

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

(#13689) Soak válasza spammer (#13688) üzenetére


Soak
veterán

login után egyből session_regenerate_id

Miért?

(#13690) Peter Kiss válasza Soak (#13689) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Amikor hozzáférési szint változik, mindig le kell cserélni az ID-t.

(#13691) Tele von Zsinór válasza Soak (#13689) üzenetére


Tele von Zsinór
őstag

A session fixation n. támadás elhárítása végett. Egyszerűsítve annyi, amit előttem már írt a kollega: minden alkalommal, mikor változik a session jogosultsági szintje, új azonosítót kell generálni.

(#13692) Alukard


Alukard
senior tag

Sziasztok!

Rég jártam erre :))

Gondoltam megosztok egy kis apróságot ami jól jöhet karakter kódolási problémáknál (ha már minden lehetséges forrást kimerítettünk, de a probléma még mindig megvan...)

setlocale(LC_ALL, 'hu_HU.UTF8', 'hu.UTF8', 'hu_HU@euro.UTF8', 'hun.UTF8');
ini_set("default_charset", "UTF-8");
date_default_timezone_set('Europe/Budapest');

Mellékhatásként a date() kiíratás is magyarul lesz :)

https://blackfyre.ninja

(#13693) Tele von Zsinór válasza Alukard (#13692) üzenetére


Tele von Zsinór
őstag

Ez nem mellékhatás, hiszen az LC_TIME-ot átállítod magyarra.

(#13694) Petyyyyy


Petyyyyy
addikt

Üdv urak!

A segítségetek kérném. Adott egy php lap, beágyazott html kóddal amin van egy form post method-dal és pár text típusú input mezővel. Szeretném feltölteni az input mezőket a php kódrészből, csak nem tudom hogy csináljam.

Szemed az úton, pedál a padlón || Whatever, Im the star

(#13695) spammer válasza Petyyyyy (#13694) üzenetére


spammer
veterán

Kicsit pontosabban is fogalmazhattál volna :) Hogy érted, hogy feltölteni?

Szeretnéd az input mezőbe beíratni az adatokat? Ha igen, akkor:

$valtozo = valami;

<input type="text" value="<?php echo $valtozo;?>">

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

(#13696) Petyyyyy válasza spammer (#13695) üzenetére


Petyyyyy
addikt

Igen így értettem - Az input mezőbe íratni az adatokat. Működik is, köszönöm!
Csak most a kódrészlet <?php echo $valtozo;?> is az input mező tartalma.

Szemed az úton, pedál a padlón || Whatever, Im the star

(#13697) spammer válasza Petyyyyy (#13696) üzenetére


spammer
veterán

Másold be ide azt a kódrészletet szerintem, mert ott valami nem lesz jó akkor :U

Vagy esetleg ide is fel lehet rakni és futtatni [link]

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

(#13698) Petyyyyy válasza spammer (#13697) üzenetére


Petyyyyy
addikt

<?php
$forint = $_POST['forint'];
$osszeg = $forint / $arfolyam; //kipróbáláshoz $forint2 = tetszőleges értékkel helyettesíthető
settype($osszeg, int);

while ($osszeg >=500)
{
$osszeg-=500;
$otszazas++;
}
while ($osszeg<500 and $osszeg>=200)
{
$osszeg-=200;
$ketszazas++;
}
while ($osszeg<200 and $osszeg>=100)
{
$osszeg-=100;
$szazas++;
}
while ($osszeg<100 and $osszeg>=50)
{
$osszeg-=50;
$otvenes++;
}
while ($osszeg<50 and $osszeg>=20)
{
$osszeg-=20;
$huszas++;
}
while ($osszeg<20 and $osszeg>=10)
{
$osszeg-=10;
$tizes++;
}
while ($osszeg<10 and $osszeg>=5)
{
$osszeg-=5;
$otos++;
}
$vege=$osszeg; //nem átváltható

print "<form name='urlap1' acton='' method='POST'>
<h3>Pénzváltó</h3>
A jelenlegi árfolyamon 1 Euro $arfolyam Forintot ér.
<br><br><br>
Átváltani kívánt összeg:
<input type='text' name='forint'> Ft
<br><br>
<input type='submit' value='Átváltás'>
<br><br><br>
<input type='text' name='5e' value='<?php echo $otos; ?>'> db 5 euro-s<br>
<input type='text' name='10e' value='<?php echo $tizes;?>'> db 10 euro-s<br>
<input type='text' name='20e' value='<?php echo $huszas; ?>'> db 20 euro-s<br>
<input type='text' name='50e' value='<?php echo $otvenes; ?>'> db 50 euro-s<br>
<input type='text' name='100e' value='<?php echo $szazas; ?>'> db 100 euro-s<br>
<input type='text' name='200e' value='<?php echo $ketszazas; ?>'> db 200 euro-s<br>
<input type='text' name='500e' value='<?php echo $otszazas; ?>'> db 500 euro-s <br>
<input type='text' name='maradt' value='<?php echo $vege; ?>'> euro-t nem tudunk kiadni az automatánál. Kérem fáradjon a kasszához!

</form>
<br>";
?>

[ Szerkesztve ]

Szemed az úton, pedál a padlón || Whatever, Im the star

(#13699) DS39 válasza Petyyyyy (#13698) üzenetére


DS39
nagyúr

ebben az esetben ezt így kell csinálni:
value='".$otos."'

(#13700) spammer válasza Petyyyyy (#13698) üzenetére


spammer
veterán

Ja hogy a html részt a php printeli ki, akkor persze, hogy nem kell a <?php ?> rész. Akkor pl. úgy, ahogy (#13699) DS39 is írja.

Az általam írt formában akkor kell, hanem nem printeled vagy pl. echozod, tehát nem php kóddal íratod ki, hanem php kódon kívüli sima html kód.

„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.