- Gurulunk, WAZE?!
- Argos: Szeretem az ecetfát
- Brogyi: CTEK akkumulátor töltő és másolatai
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- gban: Ingyen kellene, de tegnapra
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Parci: Milyen mosógépet vegyek?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Új hozzászólás Aktív témák
-
-
Peter Kiss
őstag
válasz
Inv1sus #12085 üzenetére
Hirtelen Apache-ra tippelvén:
.htaccess a gyökérbe:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ Public/ [L]
RewriteRule (.*) Public/$1 [L]
</IfModule>---
@(#12088) Speeedfire
A PHP kb. egyetlen előnye, hogy ingyenes infrastruktúrára is fel lehet pakolni akármilyen alkalmazást. Ha nekem megvan már a Windows-környezetem, miért dobjam ki az ablakon? -
Coyot
őstag
-
cucka
addikt
válasz
Inv1sus #11848 üzenetére
Az a baj, hogy szar a reguláris kifejezés, amit használsz. A minta, amire keresni kell, az úgy néz ki, hogy width="...", ahol a három pont helyén bármilyen karakter lehet, ami nem idézőjel.
Én így oldanám meg, próbáld értelmezni. A minta végén a \s az bármilyen whitespace karakterre match-el, ebből tetszőleges számút szintén kidobok, szóval a végeredményben nem lesznek fölösleges szóközök, a minta végén az i betű pedig azt jelenti, hogy kis-nagybetűket ne vegye figyelembe (case insensitive) :
function process($str){
return preg_replace(
array(
'/width=\"[^\"]+\"\s*/i',
'/height=\"[^\"]+\"\s*/i'
),
array('', ''),
$str
);
} -
Sk8erPeter
nagyúr
válasz
Inv1sus #11848 üzenetére
Igen, mivel te a stringed legvégére adtad meg a width és height attribútumokat...
Te arra számítasz, hogy mindig így lesz? És arra számítasz, hogy csak és kizárólag <img> tagek lesznek a stringedben? (utóbbi még talán előfordulhat)Próbáld már meg, amit mutattam.
2 próba:
De tessék, itt van, amit mutattál, csak úgy, hogy az elejére teszem a height és width attribútumokat:
<img height="118" width="118" style="float: left;" alt="Minta 1" src="../user_uploads/images/oldalak/kezdolap/pic1.jpg" />
Screenshot:
Most már hiszel nekem?
-
Sk8erPeter
nagyúr
válasz
Inv1sus #11846 üzenetére
Igen, elég sok hibalehetőséget rejt magában.
Pl. azt, hogy konkrétan kiszedi az összes attribútumot pl. egy ilyen esetben:<img width="123" src="asdasd.jpg" height="123" title="blabla" alt="akármi" style="border:1px solid red;" />
amit készít belőle:
<img />Asszem ez neked nem lesz túl jó.
itt kipróbálhatod:
http://preg_replace.onlinephpfunctions.com/Hint: (.*) - ez így nem igazán szűkíti le a dolgokat.
Szerk.: áááá, inkább mutatok rosszabbat, hogy még inkább elrettentsen.
<div title="valami"><img width="123" src="asdasd.jpg" height="123" title="blabla" alt="akármi" style="border:1px solid red;" /><div style="color:red;" title="asd">ezmegaz</div><p style="color:red;" title="itt is">namégegy</p>
</div>ebből csinál egy ilyet:
<div title="valami"><img>namégegy</p> </div>
elég brutálisan szétkúrja. -
Tele von Zsinór
őstag
válasz
Inv1sus #11701 üzenetére
Mindossze annyit tesz, hogy a filerendszered mas karakterkodolast hasznal, mint a weboldalad. A gyorsmegoldas kiiraskor konvertalni a ketto kozt, de ez borzalmas problemakat fog okozni hosszutavon.
Elottem kollega kerdese jogos, miert teszel ekezetes karaktert a filenevbe? Felteltelezem, hogy adatbazisbol jon az adat, egyszeruen az id mezo alapjan nevezd el a kepet. Ha megsem adatbazisbol jon (mert mondjuk a kliensnek csak egyszeruen fel kell toltenie a kepet ftpn) akkor mondd meg neki, hogy ne hasznaljon ekezetes neveket.
-
Tele von Zsinór
őstag
válasz
Inv1sus #6738 üzenetére
Nem olyan bonyolult az. Ajánlott megnézni a FireXPath ff. kiegészítőt (vagy más böngészőre alternatíváját), gyorsabban össze lehet vele rakni egy queryt, mint ha php-ban próbálkozol.
A submitolásra: nézd meg, az oldalon a form mit, milyen néven és hová küld. Ha nincs benne olyan hidden input, ami valamilyen csrf-védelmet lát el, probléma nélkül tudsz postolni a php kódodból is - csak le kell másolni azt, ahogy a form küldené az adatokat. Ha van token, akkor +1 kérés, és a session cookie-ra is oda kell figyelmed, de nagy valószínűséggel így is megúszod csak szerveroldalon.
-
Sk8erPeter
nagyúr
válasz
Inv1sus #6735 üzenetére
Adott oldal meghatározott tartalmának kiszedéséhez javaslom a DOMDocument osztály tanulmányozását. (többi, DOM-mal kapcsolatos osztály: [link])
Itt is elérhetők olyan függvények, mint JavaScriptben, hogy getElementById(), getElementsByTagName(), stb.
A dokumentációja php.net-en mondjuk elég gyenge, nekem elég sokat kellett tanulmányoznom a metódusok fejlécei fölött lévő kommentelt részeket, amik a dom.php-ben elérhetők voltak (pl. Komodo IDE-ben vagy phpDesignerben rámész, hogy ugorjon a metódus deklarációjára, és akkor beleugrik abba a fájlba, ahol ezek megtalálhatók).
Viszont nagyon hasznos, jól működik.Persze az input mezőből történő submitolást már JavaScripttel kéne elintézned.
-
Speeedfire
félisten
válasz
Inv1sus #6259 üzenetére
Igen!
A postolt adatra nyomsz egy md5-öt, és összehasonlítod az adatbázisban már előre md5-ként mentett jelszóval.
Én pl használom még az md5-öt random sztring generálásra is, amiből generálom az meg az idő, szóval 2 egyforma sem lehet.Itt egy egyszerű példa. [link]
Én anno mikor csináltam a login rendszert ez volt az alap amiből kiindultam.
-
RedSign
tag
válasz
Inv1sus #6257 üzenetére
Hogy-hogy semmire?
A jelszó semmire sem jó?
Egyébként olyan adatok esetén hasznos, amiket a felhasználó visz be és csak összehasonlítani kell velük (megerősítő kód is ilyen például) vagy ha sütiben tárolod a felhasználói azonosítót és automatikus beléptetést alkalmazol vele...
-
PazsitZ
addikt
válasz
Inv1sus #6205 üzenetére
meghívja az ott lévő konstruktorokat meghívja a konstruktort. Egy osztálynak egy konstruktora van. Ha "többszörös öröklés" (lánc) áll fenn, akkor a folyamatos parent::__construct() hívásokkal lehet meghívni több konstruktort.
Meghívni egyáltalán nem muszáj, pont ezért nem automatikus, hanem kézzel kell megadni, ha szükséged van rá.
Ha bármit megváltoztatsz akkor a következő futtatásnál a változtatott kód fut le.
Ha pl. változó érték megváltoztatásra gondolsz, az az általános láthatóság és írhatóságtól függ, hogy tudod-e.
Remélem a válaszom segített. -
Speeedfire
félisten
válasz
Inv1sus #6184 üzenetére
Engem anno lebeszéltek róla, azt mondták kell az erős oop szemlélet/elmélet, hogy értesm is, hogy mit csinálok. Most ezeket a docleres előadásokat nézem, jelenleg az első részt. Eddig elég érdekes és jól is magyarázza srác. Elmondja, hogy mi mire való, mire érdemes figyelni. 2*1órás az anyag. Majd délután helyzet jelentek.
-
Sk8erPeter
nagyúr
válasz
Inv1sus #6134 üzenetére
Azt nem tudom, mennyivel rontja a teljesítményt, ha egyáltalán észlelhetően rontja, mindenesetre semmiképp sem jó gyakorlat kihagyni a változók meglétének ellenőrzését, ha olyanról van szó, ami esetleg hiányozhat, mint pl. a $_GET értékek.
Ezeket is érdemes lehet inkább átadni egy másik változónak, aminek pl. van egy alapértelmezett értéke, de ha pl. a $_GET be van állítva, és "valid" (a saját feltételeid szerint), akkor az annak megfelelően módosul.
Pl. ha van egy $_GET['page'] változó, amire számítasz, akkor azt ellenőrzöd, pl. így (leegyszerűsített példa):<?php
// ......
try{
$page = 'home';
if( isset( $_GET['page'] ) ){
if( is_valid_page( $_GET['page'] ) ){ //feltételezzük, h megvan az is_valid_page() függvény.
$page = $_GET['page'];
}
else{
throw new Exception('Hibás címet adott meg!');
}
}
// .......
} catch (Exception $e){
// kivétel kezelése... pl.:
echo $e->getMessage();
}
?> -
Sk8erPeter
nagyúr
válasz
Inv1sus #6132 üzenetére
Egyrészt lehet, hogy az újabb XAMPP verzióban (php.ini-ben) a default beállítás az volt, hogy notice jellegű hibákat is dobjon, ha pl. vizsgálgatsz olyan változót, ami nincs is definiálva, és előtte nem végeztél isset() ellenőrzést (tipikusan pl. a $_GET változók lehetnek ilyenek; megjegyzem, ezt a hibajelzést érdemes is bekapcsolni tesztelés idejéig, mert a fejlesztő hibája, ha ezek a hibák megjelennek), másrészt újabb PHP-verzió is lehet, aminél egyes deprecated függvényeket/globális változókat/stb. megszüntettek biztonsági vagy egyéb szempontok miatt. Egyéb ok is lehet, de ezek a valószínűek, ha egyébként sikeres volt a telepítés.
-
#10382336
törölt tag
válasz
Inv1sus #6086 üzenetére
Megoldódott. Index.php-vel így működik:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>HTML fájl</title>
</head>
<body>
<h3>Elérhetőségeink</h3>
<?phpprint '<h3>Szöveg</h3>';
?>
</body>
</html>Köszönöm a segítséget mindenkinek!!!
-
rt06
veterán
válasz
Inv1sus #6045 üzenetére
gondolom egybol a 3072 x 2048 felbontast, nem?
merthogy az (de a linkelt kepen kivul semmi) nem kerul megjelenitesre sem (a "zoom" pedig a megjelenitett 400 x 267-es kep nagyitasa, szoval abbol osszerakni ertelmetlen, nem nyersz plusz informaciot)
meg nem jelenitett tartalmat nem letolthetove tenni pedig pofonegyszeru (aki ezt maskent gondolja, toltse mar le a c meghajtomon levo boot.ini file-t), de nem ez volt az eredeti kerdes, ha jol ertettem -
-
Sk8erPeter
nagyúr
válasz
Inv1sus #4206 üzenetére
Azért azt se ártana ellenőrizni előtte, hogy létezik-e egyáltalán a $_SESSION['loggedname']:
if( isset($_SESSION['loggedname']) )
esetleg még kiegészítheted azzal is, hogy nem üres-e
if( isset($_SESSION['loggedname']) && !empty($_SESSION['loggedname']) )
Utóbbi mondjuk nem kötelező - de előbbiért, ha a display_errors be van kapcsolva, akkor amennyiben nem létezik az adott változó, dob egy hibanotice-t.
Egyébként így elsőre nem világos, hogy most itt miért hasonlítgatsz össze - az nagyon nem biztonságos, ha session változóban tárolod a jelszavadat. De ha pl. adatbázisból szeded, akkor oké. -
DeltaPower
addikt
-
Sk8erPeter
nagyúr
válasz
Inv1sus #4173 üzenetére
És ez most miért lenne hiba? Sehol nem kötötted ki, hogy hány ilyen karaktert szeretnél engedélyezni, csupán escape-elve töltötted fel az adatbázisba. Pont azt csinálja, amit mondasz neki.
Mellesleg helytelen így használni a $_POST-ot: $_POST[ki],
helyesen $_POST['ki'] vagy $_POST["ki"]
Fontos, hogy használd az aposztrófot ( ' ) vagy az idézőjelet ( " ).
Ugyan az általad használt módon is működik, de bizonyos esetekben gond lehet belőle. -
Coyot
őstag
-
Sk8erPeter
nagyúr
válasz
Inv1sus #4134 üzenetére
ha sikeres volt a feltöltés, mondjuk csinálsz egy ilyet:
session_start(); //még a fájl elején!!!
// ...
$_SESSION['success']='Fasza, sikerült feltöltened.'; //lehet felőlem $_SESSION['sikerhurra']='blabla'; is, tehát a név tök mindegy, beállítod asszociatív tömbindexeléssel a tömb egyik elemét egy bizonyos értékre
// blabla, header-rel visszairányításItt pedig abban a fájlban, ahova visszairányítod a feldolgozó oldalt, kiíratod a session változót, ha az létezik (ami nyilván akkor lehet, ha a feldolgozó fájlban beállítottad), aztán megszünteted (hogy ne írja ki minden alkalommal, mindössze egyszer írja ki):
if( isset( $_SESSION['success'] ) ){
echo $_SESSION['success'];
unset( $_SESSION['success'] );
}Ennek analógiájára lehet kiíratni a hibaüzeneteket is, elég rugalmas a dolog, és a session erejéig bárhonnan elérhető, hacsak meg nem szünteted (unsettel).
Új hozzászólás Aktív témák
Hirdetés
- Autós topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Gurulunk, WAZE?!
- Elden Ring
- Hamarosan megkezdődik a nubia 2,8K-s táblagépének szállítása
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Formula-1 humoros
- Építő/felújító topik
- Mobil flották
- NBA és kosárlabda topic
- További aktív témák...
- ÚJ PS5 Slim - FW 8.40 - Lemezolvasó - Lua Loader - Lua játék - Lapse
- új, bontatlan, iPhone 16E gyárilag kártya-független, apple világgaranciával
- Üzletből, garanciával, Macbook Pro Retina 16" 2019, Gray i9 64GB RAM 1TB SSD Radeon Pro 5500M
- Üzletből, garanciával, Macbook Pro Retina 16" 2019, Gray i9 64GB RAM 2TB SSD Radeon Pro 5600M 8GB
- MacBook Pro 14" M1 MAX - 32GB / 1TB (2021) - 1 év garancia
- BESZÁMÍTÁS! 16GB (2x8) G.Skill Trident Z RGB 4266MHz DDR4 memória garanciával hibátlan működéssel
- Csere-Beszámítás! Olcsó Számítógép PC Játékra! R5 1500X / RX 570 8GB / 16GB DDR4 / 250SSD + 2TB HDD
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- VÉGKIÁRUSÍTÁS - REFURBISHED - HP Elite / ZBook Thunderbolt 3 docking station
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest