- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- iPhone topik
- Mobilhasználat külföldön
- Android alkalmazások - szoftver kibeszélő topik
- Milyen okostelefont vegyek?
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Xiaomi 15 - kicsi telefon nagy energiával
- Azonnali mobilos kérdések órája
- Samsung Galaxy A54 - türelemjáték
- A hagyományos (nem okos-) telefonok jelene és jövője
Új hozzászólás Aktív témák
-
LW
őstag
Kreáltam egy biztonsági rést, itt hozzáférsz förmedvényemhez.
ftp://radigine.dyndns.org
uname: radigine
passwd: radigineNincs vele különösebb célom, csak szeretnék egy (kis) rendszert, ahol nem kell bajlódni az alapvető dolgokkal. Hogy mit tud? Amit kellene, még azt sem. Ez még nagyon alfa verziója a történetnek. Jelenleg annak örülök, ha egy üres fehér lap fogad.
-
LW
őstag
Visszatértem és még mindig csak kérdezek.
Az összetartozó eljárásokat, ill. függvényeket tartsam egy osztályban (akár singleton), vagy csináljak belőlük sima globális függvényeket?
Mert egyébként ez nem igényelne osztályt, de így mégis rendezettebb.
üdv. LW -
LW
őstag
A fenti sessionkezelés így nézne ki? [Pastebin]
-
LW
őstag
Köszönöm. Kerestem pár példakódot úgy vélem értem a singleton osztályokat. Estére rendbe rakok mindent.
Ha az osztály példányosítása után szükségem van a singleton osztályra egy másik programblokkban, akkor az első példány referenciáját használom?
Egyáltalán nem sértő. Tisztában vagyok vele, ezért is kérdezek tőled/tőletek.
Nem tanítottak nekem php programozást, de más (egyébként objektum orientált) nyelvet is csak futólag. Ha minden igaz, öt nap múlva megkezdődnek egyetemista éveim. -
LW
őstag
Javítva: http://pastebin.com/dwuZLAJK
-
LW
őstag
Cucka mondta nékem, hogy statikus eljárásokat/függvényeket abstract osztályba rakni bohóckodás.
Ha nekem van pár összetartozó függvényem és azoknak esetleg segédfüggvényei, akkor nagyon megszégyenítem az abstract osztályokat azzal, hogy a feladatát megcsúfolva gyűjtőmederként használom, vagy e sajátos felhasználási mód jár valami teljesítménybéli, egyéb hátránnyal?
Így hívom meg őket SESSION_MANAGER::Manage();Jobb ha globális függvényeket kreálok prefixekkel pl?
-
LW
őstag
(szuperglobálok folyt.)
Közben gyakorlatban is bevetettem, vagyis tettem egy próbát a megálmodott szuperglobál osztálypéldányokkal és egy-két anomália és kérdés nem hagy nyugodni.
Ha csinálok egy ilyet: $_COOKIE = new Superglobal($_COOKIE); És setcookie-val átírok egy sütit, akkor a példányosított objektum nem változik, viszont az alap szuperglobál tömb változna. (Na ez pl. be is tett a sessionkezelésnek)
Ha csinálok egy másik osztályt, ami örökli a superglobal osztály tagjait és kiegészítem egy Set([...]) függvényt, akkor meg eljárással paraméterezni a setcookie([...])-t sztem kicsit barbár dolog, de átírná az objektumban lévő tömb értékét is a sütik mellett.
Ha egy idegen kód használná ezeket a tömböket (egy megírt osztály pl.), nem tudja, mert osztályok példányává alakítom őket. Ha meghagyom őket és új globális objektumokat hozok létre, akkor meg mindent kétszer tárolok.
Késő van, remélem azért érthetően összeraktam.
üdv. LW
-
LW
őstag
válasz
bnorbert989 #6868 üzenetére
Sztem erre az egy html tagre lesz szükséged:
<img src="(kép elérési útja)" alt="header" width="970" height="399"> -
LW
őstag
A végén félreértettél. Ha POSTnak van 100 eleme, és a programnak csak 3 kell belőle, akkor nem kell bejárni és átalakítani az összes elemet, hanem csak használat előtt azt a 3at külön tárolás nélkül. Ha nem tárolom le és újra használom, akkor újra át kell alakítania (az eredetiből).
Igazából a két megoldás különbségéről van szó:
1. pl. Array_map()-al bejárom és GET POST COOKIE elemeit stripslashelem, amennyiben magic_quotes on. Jelentős hátrány: Ha egy rosszindulatú látogató küld egy tartalmas kérést, akkor akarva-akaratlanul stripslashel ész nélkül.
2. Használat előtt stripslashelem a kívánt kulcs alatti elemet. -
LW
őstag
Azért írtam így, mert nem kell annyiszor get_magic_quotes_gpc(); meghívni, ahányszor példányosítom, hanem egyszer beállítom és mindegyikre objektumra érvényes. Végső soron ezért vannak a statikus adattagok, vagy nem?
Am így valóban jobb és szakszerűbb, bár sztem így több memóriát eszik, viszont a GET és POST nem minden elemén stripslashelek, hanem csak amelyik kell. Az megint egy kérdés, hogy egy elemet többször fölöslegesen is, amennyiben nem tárolom el egy változóban.
-
LW
őstag
Ilyesmire gondolt, Mester?
class Superglobal{
private $content = array();
static public $magic_quotes = false;
function __construct($sga){
$this->content = $sga;
}
function Get($key, $secure = false, $default = false, $remove_html = false, $remove_js =false){
if(isset($this->content[$key])){
$value=$this->content[$key];
if(self::$magic_quotes)$value= stripslashes($value);
if($secure)$value = STRINGS::Secure($value, $remove_html, $remove_js);
return $value;
} else {
return $default;
}
}
} -
LW
őstag
Sziasztok. Egy kis saját keretrendszert készítek és született az alábbi elgondolás.
A szuperglobális tömbökből pár kis osztály segítségével típusra átalakítva tudok értékeket használni, azzal sem kell foglalkoznom, hogy létezik-e az elem.
Minden bizonnyal lassítja a futást, de egyszerűsíti a munkát. Szerintetek érdemes ezt így használni?
Példa:
'blah blah blah sql syntax'.GET::Get_var('uname', '', 'secured').'blah blah'üdv. LW
-
LW
őstag
Jó estét/hajnalt!
Hogyan lehet és érdemes megcsinálni a rövid "barátságos" url-eket? pl. http://domainem.hu/blog/egy_cikk/ => index.php?m=blog&content=egy_cikk
Rágugliztam, találtam egy pár lapot az apache mod_rewrite lehetőségéről. Holnap megnézem.
üdv. LWszerk: Gondoltam hátha tudsz valami zseniálisabb megoldást.
Ám rendben.
-
LW
őstag
Öhm... Megvan a megoldás és ez fájt.
Mi volt az, ami eddig nem volt és a közelmúltban került a képbe? Sokadik Apache-mysql-php trió után sorra elkövettem?
A phpeditor debugja hülyítette meg ennyire az apacheot. Reggel felkeltem, raktam fel egy újabb wampot, jól ment, egészen addig, amig nem volt debugra szükségem. Beállítottam a szerkesztőt és jött a facepalm meg a Connection was reset.Azt hiszem, tanulságos volt.
-
LW
őstag
Az adatbázis és a phpscriptek ATW-s szerveren tökéletesen működnek, egyedül localhost/phpmyadmin dobál Connection was reseteket, de már a hajamat tépem.
Segítsetek légyszi!
-
LW
őstag
Ismét haldoklik a mysql. InnoDB táblában Foreign key lehet NULL?
-
LW
őstag
Sziasztok.
Egy érdekes anomália jött elő az este és már kezdhangulatom lenni.
Egész eddig wampot használtam békében, nyugalomban. Kis keretrendszeremet fejlesztgettem és azt kezdtem észrevenni, hogy bizonyos táblákat(14ből 2) nem tudok megnézni phpmyadminban, Böngészőm fejemhez vágta, hogy Connection was reset.
Gondoltam én, velem nem szórakozik semmi, rakok fel egy EasyPHP-t is. Beállítom, működik is. Nem kelik el 2 perc, ugyan azt tapasztalom. Ugyanakkor PHPból kiadott lekérdezések probléma nélkül futnak.
A Connection was reset rendszerint akkor jön elő phpMyAdmin esetében, ha egymás után két lekérdezést(lapot váltok) hajtok végre gyorsan.
Találkozott valaki efélével?
üdv. LW -
LW
őstag
Köszönöm.
Így már minden tisztább. Nem kicsit túl akartam bonyolítani.
Adatmegmentős dolog lehet esetleg még az, ha nem létezik munkamenet a cikk beküldésekor, akkor a login oldalnak átadja a kéréssel jött cuccokat és sikeres belépés után egyből visszadobja a POST tartalmával együtt.
Zöldfülű vagyok még, de első guglizással cURL lesz hozzá a barátom.
Na irány az iskola, köszi még egyszer.
üdv. LW -
LW
őstag
Sziasztok.
Épp a sessionkezelést (újra) nézegettem és érdekelne, hogyan érdemes megoldani azt, hogy ha a felhasználó úgy kívánja, akkor maradjon bejelentkezve(tartsa meg a munkamenetet) a webhelyen.Példához nem kell messzire menni, itt a prohardveren is élő funkció.
Mennyire érdemes állítani a munkamenet élettartamát?
40 perc sok lenne, de ha valaki belelendül a (pl.)cikkírásba, akkor elég sok adat veszhet el, ha már nem létezik a munkamenet.
Olvastam, hogy érdemes két határt bevezetni. Egyiknél a munkamenet még létezik, de x perc inaktivitás után megerősítés gyanánt újra elkérem a jelszót és ott folytatódik, ahol abba lett hagyva. A második határ értelemszerűen a session végső lejárata.Munkamenetekről lévén szó, a biztonság nem utolsó. Minden munkamenetet SQL táblában nyilvántartok, ahol REMOTE_ADDR és HTTP_USER_AGENT tárolva vannak, ha bármelyikben eltérés van, akkor érvénytelen a munkamenet.
Mennyire érdemes még ezt bonyolítani saját session.hash generállással vagy egyébbel?A lejárt és session-ös táblában ragadt rekordokat hogyan érdemes pucolni?
Minden új bejegyzéskor egy takarítólekérdezéssel vagy van kifinomultabb módja is?üdv. LW
-
LW
őstag
Üdv újra.
Van az alább látható 3 osztályom:
abstract class REQUEST{
public static function helper_get_var(&$sga, $key, $default, $type = 'string'){
if(isset($sga[$key])){
if($type != 'string'){
$value = $sga[$key];
settype($value, $type);
return $value;
} else {
return STRINGS::secure($sga[$key]);
}
} else {
return $default;
}
}
}abstract class GET extends REQUEST{
public static function get_var($key, $default, $type = 'string'){
return REQUEST::helper_get_var($_GET, $key, $default,$type);
}
}abstract class POST extends REQUEST{
public static function get_var($key, $default, $type = 'string'){
return REQUEST::helper_get_var($_POST, $key, $type);
}
}Csináltam egy segítő functiont, amit a 2. és 3. osztály örököl, elkerülve az ismétlést.
A kérdés az, hogy van rá mód, hogy csak GET és POST osztály lássa a REQUEST funkcióját?Szerk: úgy néz ki protected módosítóval eléri, bár phpDesigner nem rakta be az elérhető funkciók listájába.
-
LW
őstag
Köszönöm.
Konfigurációs fájlokat a végtelenségig egyszerű konstansok által oldjam meg és azt includeoljam, vagy van elegánsabb és hatékonyabb módja is?
Igazából olyan funkciók miatt lenne jó egy esetleg dinamikusan szerkeszthető alternatíva, ha PHPból akarnám szerkeszteni az oldal default_title-jét.
Adatbázisban is tárolhatnám őket, de az plusz egy lekérdezés, bonyolítja a dolgokat és a hatékonyság rovására is megy.
-
LW
őstag
Sziasztok.
Objektum orientált programozás biztonsági elveinek megfelelően az osztályokban ahol lehet private módosítóval látom el a tagokat.
Tegyük fel van egy osztályom amiben van egy content-type változóm. Ha az objektumon kívülről akarom módosítani, akkor csináljak egy set_ContentType() eljárást, vagy hagyjam elérhetőnek?
(Smartynál pl a konfigurációs változók publikusak - suliban a tanárom gyilkol érte)Ha van egy tucat azonos témakörű eljárásom/függvényem, akkor egy osztályba rakom őket tagoknak. Hogy ne kelljen példányosítani, statikussá teszem őket. Ilyet szabad?
(esetleg van valami mód [mint C#ban], hogy ne lehessen példányosítani az adott osztályt?)üdv. LW
-
LW
őstag
válasz
Speeedfire #5927 üzenetére
Szia!
Múlt héten volt vele dolgom. Nekem Ő segített. Nagyon jó írás, érthető és példa is van hozzá. -
LW
őstag
válasz
Brown ügynök #5913 üzenetére
Ha így van, akkor mégsem érted teljesen a php futását.
A validator már egy tiszta HTML kódot vár, amit a php legenerál.Ha egy távoli címet adsz neki, ahol fut webszerver: http://pelda.hu/index.php - akkor a webszerveren előbb lefut a PHP, utána amit megkap a validator, az már csak a lefutott script kimenete.
Ha feltöltöd, akkor magát a php fájl tartalmát elemzi és mivel oda nem illő dolgok vannak a HTML kódban, hibát jelez.
Tehát:
Vagy tedd elérhetővé a php fájl egy a validator számára is elérhető helyen, vagy Futtasd le és az eredményt add neki oda. -
LW
őstag
válasz
Tele von Zsinór #5892 üzenetére
-
LW
őstag
Miután ATWvel mókáztam kicsit, sikeresen életrekelt és még az Ő-s fájlokkal is megy.
A zártkörű majdcsakleszvalahogy.
Viszont a MYSQLes anomália továbbra is érthetetlen számomra.
-
LW
őstag
válasz
Tele von Zsinór #5889 üzenetére
Nem teljesen. Asszem php.net-en találtam ezt a pár sort ami cseréli a nem oda illő dolgokat.
$SafeFile = $_FILES['ul_file']['name'];
$SafeFile = str_replace("#", "No.", $SafeFile);
$SafeFile = str_replace("$", "Dollar", $SafeFile);
$SafeFile = str_replace("%", "Percent", $SafeFile);
$SafeFile = str_replace("^", "", $SafeFile);
$SafeFile = str_replace("&", "and", $SafeFile);
$SafeFile = str_replace("*", "", $SafeFile);
$SafeFile = str_replace("?", "", $SafeFile);Illetve még egy most előjövő problémával találtam szembe magam:
SELECT 1 FROM users WHERE 'ű' = 'ü'
A feltétel igaz, hogyan? -
LW
őstag
válasz
Dave-11 #5887 üzenetére
Azzal a könyvvel kezdtem és először nekem sem volt teljesen világos, igaz voltam vagy 14 éves.
Azóta C# révén megismerkedtem az objektumorientált programozzásal és phpban is törekszem rá.
Olyan kérdésem volna hozzátok, hogy ha utf-8 kódolást használok mindenhol és fájlt mentek, akkor hogyan alakítsam át úgy a stringet, hogy a webszerveren a fénykép ne FĂ©nykĂ©p legyen?
Egyelőre itthoni windowsos szerveren próbáltam, ATW terhelyén lehet nincs ilyen gond (csak 3 másik
), még nem próbáltam.
-
LW
őstag
válasz
Sk8erPeter #5881 üzenetére
Értem, elnézést.
- - -
Itt elérhető a kis app amit készítek a CMSnek csúfolható alappakkomra.
Azt még nem tudom miért, de azért gondoltam megosztom veletek.
A lekérdezést még a másik topikban írt válasznál egyszerűbben sikerült megoldanom, bár így sem az igazi.Amúgy irodalomórán pattant ki az ötlet. Az osztályunkban mindenkinek adok egy felh/jelszó párost és meg tudjuk osztani egymással a tételeket, meg a többi agyromboló anyagot, amit érettségi előtt át kell nézni.
-
LW
őstag
Őszintén szólva most tudatlanságom tátongó gödrébe nyúltál.
- - -
http://prohardver.hu/tema/mysql_php_kerdes/friss.html#msg1849
Valaki aki MySQL pro segítsen legyen szíves!
-
LW
őstag
Hogyan tudok saját sessionID-t használni sessionokhoz?
Próbáltam sok féle képpen, de nem sok sikerrel. -
LW
őstag
válasz
PazsitZ #5873 üzenetére
Ne értsetek félre, nem a linuxon való fejlesztés pártolása miatt írtam, hanem az előző hozzászólásban kirajzolódó (sejtett) tévedés javítására.
PHP mindig szerver oldalon fut. Ha otthon homeszerverven, de akkor is szerveren fut, aminek végeredményét kapja meg a böngésződ.Nem vagyok nagy zsonglőr, én is vindózon dolgozom kisebb szabású dolgokon.
Új hozzászólás Aktív témák
Hirdetés
- Eredeti, új Lenovo 330W töltők - ADL330SDC3A
- ÁRGARANCIA! Épített KomPhone Intel i9 14900KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Honor 9X Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Apple MacBook Pro 16 M4 Pro - M4 Pro 24GB 512GB SSD garanciával hibátlan működéssel
- Felújított számítógépek/merevlemezek Számlával, garanciával! Ingyen Foxpost!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest