- TCL LCD és LED TV-k
- RAM topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Kivégzi a Firewire-t az új macOS verzió?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Bambu Lab 3D nyomtatók
- CPU léghűtés kibeszélő
- AMD Navi Radeon™ RX 7xxx sorozat
- SSD kibeszélő
Új hozzászólás Aktív témák
-
futár
senior tag
Így értem, de hogyan. A form az alapértelmezett, ezt az inludoltam be. Amikor rányomok a küldés gombra, és a script lefut, akkor tölti be a thank-you.php tartalmát, eredetileg redirecttoURL-lel, de az nem akart működni. Echo, vagy include, a formot otthagyja és fölé kiírja a thank-you.php értékét. Hogyan tünteted el a formot, amit korábban includoltam a contact.php-be?
-
válasz
Sk8erPeter #12889 üzenetére
Igaz. Nem gondoltam végig a másik két függvénnyel voltam elfoglalva. Vegyétek semmisnek
Ja hogy csak a visszatérési értékben térnek el egymástól
#12890: és ha két különböző fájlba tárolnád a megfelelő formázást és az éppen aktuálist töltenéd be?
-
futár
senior tag
válasz
Sk8erPeter #12889 üzenetére
van egy form script, ahol a contactform.php fájlt a contact.php-be includoltam, így mivel a script írója az iframe-t javasolja, az include miatt elérési utakat kellet változtatni, de a legnagyobb probléma, hogy a script lefutása után a form helyén kellene megjelenni a "Köszönjük bla-bla-bla... szövegnek, de az iclude miatt a form már ott van, így a szöveg nem helyette, hanem fölötte jelenik meg. Találtam egy nem tűl elegáns megoldást, hahol a script lefutását vizsgálva az
echo 'style="display:none;"';
eltünteti a formot és a helyén megjelenik a szöveg.
Erre, ha lenne egy elegánsabb megoldás, az jó lenne.
Vagy szerintetek ez is teljesen jó? -
futár
senior tag
Üdv mindenkinek.
a problémám a következő.
Ezt a contact formot szeretném használni az oldalamon. iframe-ba illesztve tökéletesen működik, de fix magasságot tudok megadni az iframe-nak. Ez nem annyira tetszik.
A másik megoldás, hogy beillesztem az oldalba.
Ez 95%-ban sikerült is, de ezt a részt nem sikerül megoldanom.
$formproc->SetFormRandomKey('gkEFthfv6gvGAuL');if(isset($_POST['submitted']))
{
if($formproc->ProcessForm())
{
$formproc->RedirectToURL("thank-you.html");
}
}ennek a kódrészletnek az a feladata, hogy ha az elküldésre nyomtam és a folyamat végbement, akkor a form helyébe írja ki a thank-you.html tartalmát.
echo-val ki tudom íratni, de akkor a form fölött jelenik meg és a formba beírt értékeket is visszaadja, ráadásul, karakterhibákkal.
Ez alatt közvetlenül ez a sor szerepel, ezt szeretném valahogy, ha ennek a helyére kerülne az oldal.<?php include_once('./contact/contactform.php');?>
Természetesen a fenti kódrészlet php tagek között van, csak nem akartam az egészet beírni.
Ha valakinem lenne ötlete, azt megköszönném! -
-
válasz
Hege1234 #12880 üzenetére
Valóban nem php, így én is OFF-ba teszem.
A content_box_big és a content_box úgy vannak megoldva, ahogy a Szolgáltatásaink doboz is. Előre le van gyártva egy kép hozzájuk. Ha nagyobb méretűt szeretnél, akkor le kell gyártani újra (GIMP vagy Photoshop).
CSS3-mal talán könnyebb megoldani.
-
Hege1234
addikt
válasz
DanielK #12881 üzenetére
bemásolom azt a részt amikor kilóg
<div class='"; if($_GET["active"] == "kozmetika") echo "active_"; echo"content_box_big'>
<div class='content_7'>
<h3>Kosmetik</h3>
<ul>
<li>Gesichts behandlung</li>
<li>Lifting behandlung ( Ultra S. Nu Skin, IPL.)</li>
<li>Cellulitbehandlung</li>
<li>Volle lippen ohne Botox</li>
<li>Kosmetische TATTOO (Permanent Make Up)</li>
<li>Tages und Abend Smink</li>
<li>Haar-Entfernung mit Wax und cukker Paste, <br />IPL Und Epila Derm Technologie</li>
<li>3D-Wimpern Verlengerung</li>
<li>Henna TATTOO</li>
<li>Ohrlappchenstechen</li>
<li>Neu FLABÉLOS Die Vibrationsplatte</li>
<li>Mesoteraphie mit Mikro-injektion (Hautverjüngung)</li>
</ul>
</div>
</div>ez ugye a német oldalon a kozmetikás rész
amit te beszúrtál olyat nem találtam sehol
mert akkor már megpróbáltam volna hogy mi lesz ha más számokat adok meg az 55 helyett
esetleg hozzáírtam volna a
weight -et hogy mit csinál akkorSzerk:
-
Hege1234
addikt
sziasztok!
van egy honlapunk amit eddig szerkesztett egy barátom
csak nagyon sok munkája van és már nem tud vele foglalkozni
most én próbálom szerkesztenivan ez a kód
<div id="footer">ami csinál ilyen dobozokat
hogy tudnám növelni ennek a méretét ?
a hiba ott van hogy tettem hozzá új szolgáltatásokat + mindenféle kiegészítéseket
és így már van hogy kilóg a keretből
és sehogy nemtudom növelni a méretétköszi előre is!
-
DanielK
addikt
Sziasztok!
Webfejlesztést tanulok és van egy alap webshop, amit csináunk. Az admin oldalon van egy adminisztrátorok rész, ahol az adminokat kilistázzuk és itt lehet felvinni, módosítani és törölni is őket.
A superadmin (id-ja az 1-es), mindent tud, kivéve nem tudja magát törölni. De mindenki mást módosíthat és törölhet.
Vannak sima adminok 1-es p_id-val (ez ugye a jogköre), akik a superadmint csak kilistázva látják, minddenki mást módosíthatják (ők már nem törölhetnek).
És a 0-s p_id-sok, akik csak magukat módosíthatják.
Az eddigi kód:
case 'list':
$qry=" SELECT admins.id,name as `Név`,email as Email ,admins.act as `Aktív?`,admins.newsletter as `Hírlevél?`, admins.p_id as Jog FROM admins ";
$result=mysql_query($qry) or die(mysql_error());
$tabla='';
while($row=mysql_fetch_array($result)){
if($tabla==''){
$tabla='<table cellpadding="5" cellspacing="0" border=""><tr>';
foreach($row as $k => $v){
if(!is_int($k)){
$tabla.='<td>'.$k.'</td>';
}
}
$tabla.='<td>Művelet</td></tr>';
}foreach($row as $k => $v){
if(!is_int($k)){
$tabla.='<td>'.$v.'</td>';
}
}if ($_SESSION["uid"] == 1) {
if ($row["Név"] == 'superadmin') {
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}else{
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a> | <a href="'.$link.'&action=del&id='.$row["id"].'">töröl</a> </td></tr>';
}
}else if ($row["Jog"] == 1){
if ($row["Név"] == 'superadmin') {
$tabla.='<td></td></tr>';
}else{
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}
}else{
if($row["id"] == $_SESSION["uid"]){
$tabla.='<td> <a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}else{
$tabla.='<td></td></tr>';
}
}
}
$tabla.='</table>';
echo $tabla;Ez az ág a bajom:
}else if ($row["Jog"] == 1){
if ($row["Név"] == 'superadmin') {
$tabla.='<td></td></tr>';
}else{
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}It ugye csak annál jelenik meg a módosítás, akik 1-es p_idv-vel rendelkeznek, de az a cél, hogy aki 1-es p_id-vel jelentkezett be, annak a superadminon kívül mindenhol a módosítás jelenjen meg...
Úgy ahogy az előtte levő ágban a superadminnál: if ($_SESSION["uid"] == 1) {...Hogy lehetne ezt megoldani?
Nagyon köszönöm!
-
Soak
veterán
válasz
Tele von Zsinór #12871 üzenetére
Ismerem, én is használom, de itt nem ez a minta áll fent, legalábbis a kódot legalább annyira át kéne alakítani mintha csak szeparálná a kettőt, itt csak annyi látszik, hogy magára irányít (gondolom épp a hibára megoldásként), plusz a PRG -nek csak bizonyos feladatoknál van értelme, nyilván ezt neki kell eldönteni, de mivel alapból nem így volt implementálva, mertem feltételezni, hogy nem szükséges ...
Szerk: Persze az lehet, hogy később van vizsgálva a get is, akkor igaz, de ennyiből nekem nem volt nyilvánvaló.
-
válasz
Tele von Zsinór #12871 üzenetére
Átirányítás után meg kell állnia, mert a redirect itt egy header wrapper ahogy olvastam. Azért fura, mert FF alatt jó. Lövésem sincs mi lehet a gond, a post ellenőrzésre a módszert a fejlesztő oldalán olvastam.
-
Tele von Zsinór
őstag
Ez így nem igaz. Teljesen valid minta, hogy postolsz valahova, feldolgozod és ugyanoda redirectelsz (egyébként PRG, post-redirect-get néven fut).
Azért lehet ugyanaz az url, mivel a második már egy újabb kérés, független az elsőtől, és sima get, szóval a böngészőnek nem szabad megkérdeznie, akarsz-e újra postolni.
mobal, nem ismerem a keretrendszert, átirányítás után megáll az aktuális controller futása? Ennyi kód alapján egyébként a tippem az volna, hogy a postot ellenőrző ifben van a hiba, és így arra az ágra fut, mintha sima get kérés lenne, kiszolgálja az üres formot, és F5-re ekkor okés a kérdés.
-
Hello!
Kis problémába ütköztem. Adott egy form, amit ha postázok utána feldolgozok (a metódus elkapja, hogy postolás volt majd frissíti a rekordokat, biztos, hogy eddig jó mert kapok róla visszajelzést, 302-es kód ok.) majd visszairányítom ugyan arra az oldalra a felhasználót. Ezután ha nyomok egy frissítést akkor újra el akar postázni mindent.
Ötlet? Esetleg Chrome bug, mert FF-val megy rendesen.
Kösz!
mobal,
-
pvt.peter
őstag
Sziasztok!
Próbálom megfogalmazni, hogy milyen plugint is keresnék egy adott fejlesztőeszközhöz, ami nem más mint a NetBeans (vagy akár Eclipse).
Nos, szeretném ha grafikusan kerülne szemléltetésre egy adott *.php fájlban levő függvényhívások sorozata.
Szépen kilenne rajzolva, hogy ebből meg ebből az osztályból ilyen meg ilyen függvények hívódtak meg stb.
Ezt leginkább gráfos megvalósításban tudom elképzelni.
Tud vki ehhez hasonló vagy pont ezt a funkciót tudó plugint elsősorban NetBeans IDE -hez?Segítséget előre is köszönöm,
Peti -
Speeedfire
félisten
Nem lehet valahol megadni netbeans-nek windows környezet alatt, hogy a cpu-ból mennyit használhat? Néha elég durván megfogja a gépet, ha a projekteket szkenneli.
-
alitak
senior tag
válasz
CSorBA #12857 üzenetére
http://securityreactions.tumblr.com/
Ilyenekből mint csepp a tengerben
-
Coyot
őstag
válasz
CSorBA #12857 üzenetére
http://thecodinglove.com/
van még egy, de az most nem jut eszembe, pedig az volt az első ilyen oldal.
-
CSorBA
őstag
Most linkelték nekem, lehet látta már valaki, szerintem mindenki magára ismerhet 1-1 helyzetben
-
lordjancso
senior tag
válasz
Sk8erPeter #12855 üzenetére
Igen, én is ezt mondtam.
-
Sk8erPeter
nagyúr
válasz
lordjancso #12854 üzenetére
Ja, hát akkor írni kell valami tisztességes reguláris kifejezést, biztos a kommentek között is van pár ilyen példa php.net-en a strip_tags-nél, meg kész megoldások is találhatók rá némi keresés után.
-
lordjancso
senior tag
válasz
Sk8erPeter #12852 üzenetére
De arról volt szó, hogy az <a> tag-eket nem bántjuk (nem szedjük ki strip_tags()-zel), mert linkeket szeretnénk a szövegbe.
-
Sk8erPeter
nagyúr
válasz
fordfairlane #12846 üzenetére
Azért ez engem is megdöbbentett, hogy most komolyan arról megy a vita, hogy érdemes megspórolni require használatával sok-sok fájl include-olása esetén is totál irreleváns időt, viszont cserébe belerakni az alkalmazásba egy potenciális hibalehetőséget, amikor ezernyi más dolog van, amit sokkal-sokkal fontosabb optimalizálni, mint például épp az általatok is említett adatbázis-indexelés, azzal való kommunikáció, a query-k minősége (!), az I/O műveletek sebessége (akkor már mondjuk sokkal érdekesebb az is, hogy SSD-n fut-e a szerver, és így tovább).
-
Sk8erPeter
nagyúr
válasz
lordjancso #12827 üzenetére
Nem fog lefutni, mivel direkt azzal kezdtem, hogy "ha előtte kiszedted a HTML-tageket", pl. strip_tags()-zel...
-
lordjancso
senior tag
válasz
Speeedfire #12849 üzenetére
Komolyan nem értem, hogy mire gondolsz. Én nem konkrét függvényről/függvényekről beszélek.
Te milyen függvényről beszélsz, amit újra használnom kellene? -
Peter Kiss
őstag
válasz
DeltaPower #12848 üzenetére
Ha ilyen történt, akkor az adatbázis-indexelési gond volt, ez az esetek többségében nem sikerül senkinek sem normálisan megcsinálnia (nincsenek indexek vagy haszontalanok).
Persze a query-k is lehetnek sz.rok.
-
Speeedfire
félisten
válasz
lordjancso #12847 üzenetére
Már miért lenne fogalomzavar?
Szerintem kicsit olvass utána ennek a dolognak. Ez egy igen hasznos függvény, kezd el újra használni. -
DeltaPower
addikt
2. Én még nem láttam olyan projektet, ahol megkövetelték volna, vagy időt adtak volna arra, hogy ilyesmivel szarakodjunk.
Ez engem például rettentően zavar. Arra viszont volt már több példa, hogy visszajött egy projekt néhány hónap után, mert olyan terhelést produkált az ez idő alatt felhízott adatbázisával, hogy a hosting szolgáltató egyszerűen lekapcsolta az oldalt. Ilyenkor aztán lehet fejvesztve kapkodni hogy mit is kellene módosítani rajta. -
lordjancso
senior tag
Elnézést a nem teljesen pontos megfogalmazásomért. Az idézett mondtatot így helyesbíteném:
De ha te tudod, hogy az az optimális és teljesítményhatékony megoldás, alapból azt használod nem?(#12845) Speeedfire:
Ne haragudj, de nem értem, hogy mire szeretnél kilyukadni. Ne használjuk "beépített függvényt"?!?! Durva fogalomzavar az, amivel éppen szemben állsz. -
fordfairlane
veterán
Egyébként sem értem ezt a polémiát a _once utasításokkal kapcsolatban. Az osztálybetöltés is úgy zajlik, hogy a PHP futásidőben vizsgálja, létezik-e az adott deklaráció, mielőtt végrehajtja a példányosítást. Ha nincs, megpróbálja betölteni a megfelelő fájt. Ez nyilván plusz utasításokat, memóriaműveletet igényel. A require_once nem osztályokra, hanem fájlokra végzi el ugyanezt a tesztet. Akkor meg nem mindegy?
-
Speeedfire
félisten
válasz
lordjancso #12842 üzenetére
A szakszerű használat alatt akkor azt érted, hogy ne használjunk beépített függvény, mert lassabban töltődik be az oldal x ms-el?
-
cucka
addikt
válasz
fordfairlane #12843 üzenetére
Igen, plusz a PHP jól skálázódik. Lehet elé rakni load balancert, szétdobhatod akárhány alkalmazásszerverre. Session kezelés a kérdéses, de arra meg ott a memcached, vagy más elosztott cache. Plusz html-t elég hatékonyan lehet cache-elni.
(#12842) lordjancso
De ha te tudod, hogy az az optimális megoldás, alapból azt használod nem?
Az optimális megoldás azt jelenti, hogy:
- a programod hibamentes
- a kód tiszta, könnyen olvasható, érthető
Ezek a fontos dolgok, amikre fókuszálni kell. Az teljesen irreleváns, hogy nyersz-e egy helyen fél ms-t vagy nem nyersz. -
fordfairlane
veterán
3. Nem igazán jellemző, hogy nagy oldalaknál a php alkalmazásszerver lenne a szűk keresztmetszet, plusz ezt a részt elég jól lehet skálázni.
Nekem is ez a tapasztalatom, szinte soha nem a PHP az oka a lassú végrehajtásnak. Majdnem mindig az I/O a szűk keresztmetszet, jellemzően az adatbázis kezelése.
-
lordjancso
senior tag
a valóság és a tapasztalat viszont az, hogy ilyen értelmetlen optimalizálásokkal nem éri meg foglalkozni és ezért senki nem is teszi
De ha te tudod, hogy az az optimális megoldás, alapból azt használod nem? Legalább is feltételezem.
Tehát ilyen esetben ez nem plusz igény, hanem csak a saját tudásod leginkább szakszerű felhasználása. -
cucka
addikt
Nem cél a gyors website? Elég sok irodalom van fent arról, mikor elemzik, hogy 100-200ms mennyit jelent értékesítési szempontból
Ezt a célt viszont nem úgy fogod elérni, hogy lecserélgeted a require_once-t include-ra, meg kicseréled a ?: operátort if-re. Értem én, hogy gyorsabb, de
1. A require_once pont azért lassabb, mert több funkciót lát el, amely funkciókra szükség van.
2. Én még nem láttam olyan projektet, ahol megkövetelték volna, vagy időt adtak volna arra, hogy ilyesmivel szarakodjunk.
3. Nem igazán jellemző, hogy nagy oldalaknál a php alkalmazásszerver lenne a szűk keresztmetszet, plusz ezt a részt elég jól lehet skálázni.Szóval valóban, elméletileg igazad van, tényleg lehet ilyen 2ms-okat gyorsítani, ha ilyesmivel foglalkozol, a valóság és a tapasztalat viszont az, hogy ilyen értelmetlen optimalizálásokkal nem éri meg foglalkozni és ezért senki nem is teszi.
-
lordjancso
senior tag
válasz
fordfairlane #12837 üzenetére
Szerintem te eléggé kötözködősre ittad magad. -
fordfairlane
veterán
válasz
Speeedfire #12838 üzenetére
Persze, mivel a keretrendszerek általában saját osztálybetöltő mechanizmussal vannak ellátva. Csak hogy nem mindenki használ ilyet.
-
Speeedfire
félisten
válasz
fordfairlane #12837 üzenetére
Én csak a yii miatt szoktam le róla. Magától betölti nekem azokat az osztályokat, amiket én meghívok. Az, hogy ő most miképp hívja meg...nem tudom.
-
fordfairlane
veterán
válasz
Speeedfire #12836 üzenetére
Régebben én is rendszeresen használtam.
Én most is használom. Szeretek veszélyesen élni.
-
Speeedfire
félisten
válasz
fordfairlane #12833 üzenetére
Nem olvastam ezzel kapcsolatban vissza, de sok helyen használják ezt a függvényt.
Régebben én is rendszeresen használtam. -
fordfairlane
veterán
válasz
lordjancso #12834 üzenetére
Nem szeretnék túlzottan magasröptű beszélgetésbe bonyolódni,...
Akkor vagy ne így kezdd a mondatot, vagy tényleg ne bonyolódj bele.
-
lordjancso
senior tag
válasz
fordfairlane #12831 üzenetére
Nem szeretnék túlzottan magasröptű beszélgetésbe bonyolódni, továbbá nem szeretném fejtegetni a programozói hivatás mélységeit sem, tehát csak annyit mondanék, hogy ha valamit csinálunk, akkor azt csináljuk a lehetőségekhez és a tudásunkhoz mérten a legjobban. Ha ebből engedünk, kontár munkát végzünk.
(#12833) fordfairlane: Ha visszaolvasod a beszélgetést, arról volt szó, hogy milyen esetekben nem kell/szabad/érdemes használni a require_once, illetve include_once függvényeket.
-
fordfairlane
veterán
válasz
Speeedfire #12832 üzenetére
Most még csak ott tartunk, hogy a require_once nem trendi. Persze olvashattuk már azt is, hogy a PHP sem az.
-
fordfairlane
veterán
válasz
lordjancso #12830 üzenetére
blabla
-
lordjancso
senior tag
válasz
fordfairlane #12829 üzenetére
Feleslegesek a szarkasztikus megjegyzések.
Ha kicsit is érted, hogy miről beszél, tudod hogy igaza van. -
fordfairlane
veterán
Én nem mondtam, hogy facepalm de ha már tudjuk hogy jobb akkor miért a rosszabbat használjuk ?
Cserébe futásidőben hibát okozhat azzal, ha egynél többször próbálja a program ugyanazt betölteni. Ja persze, tudom, az a program nem jól van megírva. Szerintem meg az az 5ms lényegtelen, az ezzel való foglalkozás maga a tiszta inproduktivitás.
Ja, igen, tudom a következő választ is, mindenki milliós látogatottságú webes alkalmazást fejleszt, ahol rendkívül feszített a processzor terhelés.
-
Soak
veterán
válasz
fordfairlane #12824 üzenetére
Én nem mondtam, hogy facepalm de ha már tudjuk hogy jobb akkor miért a rosszabbat használjuk ?
cucka : Nem cél a gyors website?
Elég sok irodalom van fent arról, mikor elemzik, hogy 100-200ms mennyit jelent értékesítési szempontból. Csak hogy egy példát említsek : amazon 100ms-es novekedés, 1%os bevétel kiesés. Ezért írtam a legelején, hogy egy kis látogatottságú sitenál teljesen mindegy, de van ahol számít és még mindig nem értem miért kéne a rosszabbat csinálni ha tudjuk hogy mi a jó
C-ben meg csináljon siteot akinek két anyja van. Ha még komolyan is vennénk, mennyi egy átlag C fejlesztő bére és mennyi egy PHP ?
-
lordjancso
senior tag
válasz
Sk8erPeter #12826 üzenetére
Azért, mert az <a> tageket nem szűröd ki, és egy <a href="#" onclick="javascript: .... le fog futni.
-
Sk8erPeter
nagyúr
válasz
DeltaPower #12817 üzenetére
"aposztróf és idézőjel nélkül nem fognak neked működőképes javascript kódot írni
fromCharCode"
De ez mitől fog lefutni, ha előtte kiszedted a HTML-tageket, különös tekintettel a <script> tagekre? -
Speeedfire
félisten
Létezik windows környezetre valami program amivel logolni lehet a munkaórákat?
-
cucka
addikt
Arról van szó, hogy egy webalkalmazásnál a require_once és az include közötti teljesítmény különbségnek (meg a többinek, ami a topikban előjön) olyan minimális impaktja van, hogy egész egyszerűen nem érdemes vele foglalkozni.
A Forma1-el ellentétben a webfejlesztés nem verseny, a cél nem az, hogy a weboldal a lehető leggyorsabb legyen (mert akkor első körben a php-t kéne lecserélni mondjuk c-re), hanem hogy elég gyors legyen. -
lordjancso
senior tag
válasz
DeltaPower #12820 üzenetére
Igen. Tud ilyet a tinymce?
Ja, most látom, hogy ez egy plugin.
-
#68216320
törölt tag
válasz
DeltaPower #12820 üzenetére
Ez az!
Legtöbb helyen TiniMacit használok úgyis.
-
DeltaPower
addikt
válasz
lordjancso #12819 üzenetére
Ilyenre gondolsz? [link]
-
#68216320
törölt tag
válasz
lordjancso #12815 üzenetére
Belegondolva a későbbi feladatokba, lesz az oldalon lehetőség hozzászólásra is. Ott majd linkeket is tehetnek a szövegbe és természetesen a szöveg is tartalmazhat " és ' jeleket is. Tehát nem tehetem meg, hogy eltávolítom ezeket a jeleket. Viszont, ha olyan editort adok nekik, mint itt a PH!-n, hogy BBCode lesz a linkből, akkor az megoldás lehet a javascript problémára is, nem? Mondjuk jó lenne olyan WYSIWYG-szerű editort találni, ami a BBCode linkeket nem kiírja kódszerűen, mint itt, hanem rögtön linkként mutatja.
-
DeltaPower
addikt
válasz
lordjancso #12815 üzenetére
Link beszúráshoz nem feltétlen kell html, inline szövegként beilleszti az urlt, lefuttatsz egy preg_matchet url-re és az illeszkedő részek köré raksz egy <a>-t, max előtte validálod.
További megoldás lehet a bemenetet domdocumentként kezelni, a nem kívánt tageket, attribútumokat kidobálni belőle, aztán savexml-el menteni, így kiszűrhetők a direkt szintaxishibás tagek is.aposztróf és idézőjel nélkül nem fognak neked működőképes javascript kódot írni
fromCharCode -
lordjancso
senior tag
válasz
DeltaPower #12813 üzenetére
Na igen, de tegyül fel, hogy egy olyan fórumot írsz, ahol nincsenek saját tag-jei a hozzászólásoknak, mint mondjuk itt a PH!-n, hanem van egy sima WYSIWYG text editor, amiben szeretéd engedélyezni a hozzászólásokban a link beszúrását. Így a strip_tags függvénnyel nem szedheted ki a linkeket, tehát minimális trükközéssel lehet onclick eseményeket létrehozni a linkekre.
(#12814) PeachMan:
Erről az jutott eszembe, hogy ha JS-sel nem engedsz beírni pár karaktert (gondolok itt a ' (aposztróf) és " (idézőjel) karakterekre), az már jó, viszont csináld meg ugyanezt a szűrést szerver oldalon is, tehát keress a sztringben aposztrófokat és idézőjeleket, ha van, vedd ki mindet.
Tehát ha kikerüli a JS ellenőrzést, akkor is ott lesz a PHP védelem.
Aztán szerintem problem solved, mert aposztróf és idézőjel nélkül nem fognak neked működőképes javascript kódot írni. -
#68216320
törölt tag
válasz
lordjancso #12812 üzenetére
Jogos, ha HTML-t is engedek nekik tárolni, akkor problémás lenne.
Viszont sima user ezen az oldalon nem tárolhat HTML kódot. Ha linket engedek esetleg neki, akkor BBCode lesz a megoldás. HTML esetemben kizárólag az Admin felületre jogosultak (én) tárolhatnak majd.
Nekem a névhez, loginhoz, más egysoros mezőhöz kell csak megoldás meggátolni a kódok beírását.
Ugyan JS-el nem engedek beírni csak megfelelő karaktereket, de tudjuk, hogy az csak ijesztésnek jó. -
DeltaPower
addikt
válasz
lordjancso #12812 üzenetére
Arra ott van a strip_tags, én a felhasználónévre írtam lehetséges megoldást. Mondjuk a strip_tags se elég magában, ha teljesen biztosra akarsz menni.
-
lordjancso
senior tag
válasz
DeltaPower #12810 üzenetére
Na igen, csak mi van akkor, ha az adatbázisban html szöveget akar tárolni az illető?
Mert oké, hogy db-be mentés során úgy rögzíted a html szöveget, ahogy a htmlspecialchars függvény konvertálja, de azt amikor meg akarod jeleníteni az oldalon, akkor dekódolni fogod, majd simán juttatható lesz a javascript. -
Soak
veterán
Nem értem ezt a hozzászólás.(Hogy jön ide 10 millio? hogy jön ide az adatbázis? Nem erről volt szó.) Nyilván nem azon fog megfeküdni az alkalmazás, hogy require_once vagy require, viszont ha ez a hozzá állás akkor mindenhol ez lesz és sok kicsiből már összejön esetleg 5-8% ami egy nagy forgalmú websitenál jelentheti azt, hogy erősebb szerverbe kell fektetni vagy még kihuzza addig ameddig van stabil cash flow és akkor már egyszerűbb.
A forma1-es autó sem azért könnyű mert felnijei 2kg-val könyebbek mint egy ugyanakkora hagyományos technikával gyártotté, hanem mert mindenhol meg van fogva ez a kicsi (nyilván sarkitottam, de szerintem érthető) . Plusz ha erre külön fel kell venni egy programozót, hogy optimalizáljon akkor rossz csapattal lett elindítva a projekt, mert az inkompetenciát ki kell fizetni mindenképpen (kérdés hogy mikor), ez nem érv a hatékony megoldások ellen.
-
#68216320
törölt tag
válasz
DeltaPower #12808 üzenetére
Az escapelésen mit értesz?
-
#68216320
törölt tag
válasz
lordjancso #12805 üzenetére
Olyanra gondolok, hogy pl. a beírt nick megjelenik linkként majd az oldalon, de ha onclick-et is ír mellé, akkor csúnya dolgokat is csinálhat.
De akkor inkább úgy kérdezem, hogy milyen védelmeket kell megcsinálnom, hogy a beírt tartalmakkal ne tudjanak illetéktelen működést generálni?
-
#68216320
törölt tag
Felhasználók tölthetnek ki a weblapon form-okat. Milyen eszközeim vannak arra, hogy a huncutságoktól megszabadítsam a beírt szöveget.
pl: strip_tags(), mysqli_real_escape_string().
Viszont mi véd meg olyanoktól, mint az onclick v. hasonló vadságok?
-
cucka
addikt
Ha 10 milliós oldalletöltésed van, akkor a teljesítmény problémák elsősorban az adatbázis oldalon fognak előjönni, esetleg rosszul implementált algoritmusoknál, vagy olyan helyzetekben, amikor hiányzik egy jó cache.
Ilyen baromságokkal, hogy most az include vagy a require_once gyorsabb, sehol, semmilyen környezetben nem érdemes foglalkozni. Ha ott tartasz, hogy ezen múlik a programod teljesítménye, akkor gyenge a vas, erősebbet kell venni és kész. Nem mellesleg a vas olcsóbb, mint fizetni hónapokig egy programozót, hogy ilyen, ezredmásodperc töredékét jelentő dolgokra vadásszon. -
válasz
lordjancso #12801 üzenetére
ilyen apróságokat itt ott találtam de együtt összefoglalva még nem
-
lordjancso
senior tag
Ilyen nagyobb szabású összefoglaló cikk engem is érdekelne.
Párat én is tudok. Amit legutóbb olvastam, hogy az if feltételnél gyorsabban fut le a hosszabb (szebb) formában, mint a rövidített. Például ez hamarabb lefut:if( $x == 1 ) {
print "egy";
} else {
print "nem egy";
}A lassabb verzió pedig:
print ( $x == 1 ? "egy" : "nem egy" );
Meg állítólag az echo gyorsabb, mint a print.
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 16 Pro - rutinvizsga
- TCL LCD és LED TV-k
- Argos: Szeretem az ecetfát
- RAM topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- sziku69: Fűzzük össze a szavakat :)
- Vicces képek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Kivégzi a Firewire-t az új macOS verzió?
- World of Tanks - MMO
- További aktív témák...
- DDR5 GAMER PC: Új RYZEN 7 8700F +RTX 4060/5060/4070/5070 +16-32GB DDR5! GAR/SZÁMLA! 50 FÉLE HÁZ!
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook 14" -80% i7-10610U 16/512 FHD
- Szép! HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 32/512 Iris Xe FHD Magyar
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 8/512 Iris Xe FHD Magyar
- 512 Gb-os NVME-k
- Bowers/Wilkins PX8 fejhallgatók (dupla Bluetooth eszköz csatlakoztatása!) - ELKELTEK
- BESZÁMÍTÁS! MSI B450M R5 5500 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
- LG 55B4 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Azonnali készpénzes Apple Macbook Air felvásárlás személyesen / csomagküldéssel korrekt áron
- Xiaomi Redmi Note 14 5G
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged