Hirdetés
- eBay-es kütyük kis pénzért
- GoodSpeed: WindowBlinds 11
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Real Racing 3 - Freemium csoda
- Oldman2: A KOReader ebook olvasó program
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
- 20230101_102713676_iOS
Ú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.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
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
- Robotporszívók
- Óra topik
- Kamionok, fuvarozás, logisztika topik
- Hobby elektronika
- Hivatalos a OnePlus 13 startdátuma
- A fociról könnyedén, egy baráti társaságban
- exHWSW - Értünk mindenhez IS
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- OLED monitor topic
- Ne várj sokat a vásárlással: drágulás a láthatáron
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7500 / GTX 1050Ti / 16GB DDR4 / 128SSD+1TB HDD
- BESZÁMÍTÁS! Xiaomi Mi 2K 27 165Hz IPS QHD 1ms monitor garanciával hibátlan működéssel
- Amazon Kindle 10th Generation ébresztős tok
- BESZÁMÍTÁS! MSI H310M i5 9500 16GB DDR4 120GB SSD 2TB HDD RTX 3050 8GB Zalman T4 Plus AeroCool 550W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
.
Hol jelenítette meg rosszul?


![;]](http://cdn.rios.hu/dl/s/v1.gif)







