- One mobilszolgáltatások
- Prohardver app (nem hivatalos)
- Telekom mobilszolgáltatások
- Samsung Galaxy S25 - végre van kicsi!
- Rekord vékony lesz a Z Flip7 is
- Android alkalmazások - szoftver kibeszélő topik
- Garmin Instinct – küldetés teljesítve
- Milyen okostelefont vegyek?
- Xiaomi 15 Ultra - kamera, telefon
- iPhone topik
Aktív témák
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
válasz
paramparya #3914 üzenetére
Jó, most már értem az eredeti problémát
Ahogy mondták, valószínűleg triggerrel v. stored procedure-al van megoldva, de nem tudom, pontosan hogyan.
Amúgy ami hsz-t törölnek, közel sem biztos, hogy az adatbázisból is törlődik, lehet hogy csak kap egy hidden flaget.
insert <- nekem helyesen megjelenik
[Szerkesztve] -
Tele von Zsinór
őstag
válasz
paramparya #3911 üzenetére
Én így csinálnám:
table topicok:
-id (auto_inc, pk)
-topicname
-openedby
table hozzaszolasok:
-id (auto_inc, pk)
-topicid (foreign key -> topicok.id)
-author
-date
-text
Így hirtelen ennyi. -
Tele von Zsinór
őstag
válasz
vakondka #3881 üzenetére
Tudja.
function myResize($o_file,$outputfilename,$maxwidth,$maxheight)
{
$image_info = getImageSize($o_file) ; // see EXIF for faster way
switch ($image_info['mime'])
{
case 'image/gif':
if (imagetypes() & IMG_GIF) // not the same as IMAGETYPE
{
$o_im = imageCreateFromGIF($o_file);
}
else
{
$ermsg = 'GIF images are not supported<br />';
}
break;
case 'image/jpeg':
if (imagetypes() & IMG_JPG)
{
$o_im = imageCreateFromJPEG($o_file);
}
else
{
$ermsg = 'JPEG images are not supported<br />';
}
break;
case 'image/png':
if (imagetypes() & IMG_PNG)
{
$o_im = imageCreateFromPNG($o_file);
}
else
{
$ermsg = 'PNG images are not supported<br />';
}
break;
case 'image/wbmp':
if (imagetypes() & IMG_WBMP)
{
$o_im = imageCreateFromWBMP($o_file) ;
}
else
{
$ermsg = 'WBMP images are not supported<br />';
}
break;
default:
$ermsg = $image_info['mime'].' images are not supported<br />';
break;
}
if (!isset($ermsg))
{
$o_wd = imagesx($o_im) ;
$o_ht = imagesy($o_im) ;
if ($o_ht >= $o_wd)
{
if ($o_ht > $maxheight)
{ $lamda = $maxheight / $o_ht; }
else
{ $lamda = 1; }
}
else
{
if ($o_wd > $maxwidth)
{ $lamda = $maxwidth / $o_wd; }
else
{ $lamda = 1; }
}
$t_ht = round($lamda * $o_ht);
$t_wd = round($lamda * $o_wd) ;
$t_im = imageCreateTrueColor($t_wd,$t_ht);
imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd, $o_ht);
imagePNG($t_im,$outputfilename);
imageDestroy($o_im);
imageDestroy($t_im);
}
return isset($ermsg)?$ermsg:NULL;
}
Egy php.net-en talált kód kicsit tuningolt változata. -
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
Ne akarjátok megtudni a körülményeket, mert elég durva lenne elmagyarázni
MySQL táblában lehet undeletelni? Szóval delete sql paranccsal törölve lett pár rekord, ami fizikailag még a fileban ott van, megnéztem, a szöveges adatok szépen látszanak. -
Tele von Zsinór
őstag
válasz
várnarancs #3557 üzenetére
Azt kell mondjam, hogy én ezt nem értem. Próbáld meg mégegyszer!
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
Kérdés: ha egy oldalra úgy megyek el, hogy megadok neki get-el phpsessid-t, akkor utána ragaszkodik a trans_sid-hez, vagy megpróbálja sütibe rakni a sessidt?
-
Tele von Zsinór
őstag
válasz
paramparya #3479 üzenetére
Az EasyPHP-ben (emlékeim szerint, én már csak másolgatom) pont az a lényeg, hogy felrakod és megy.
-
Tele von Zsinór
őstag
válasz
Jester01 #3457 üzenetére
2: jó, ez jogos, később eszembejutott
3: ha mondjuk MiM támadás áldozata a kliens, akkor ugye a támadó látja azt is, ha titkosítva meg el a jelszó, hiszen ott van a http fejlécben. Ilyen fejlécet már ő is tud gyártani, akár telnettel is, visszakap egy sessioncookiet, és mivel telnettel kényelmetlen böngészni, azt a böngészőben az url végére írja ?PHPSESSID=... formájában. Kész, benn van, más nevén.
Sima http-vel szerintem nem lehet biztonságos oldalt létrehozni. -
Tele von Zsinór
őstag
Ellenvetéseim:
1: mit kezd a kedves user, aki mondjuk links-el nyomja? Vagy bármivel, ahol biztonsági okokból tiltotta a JS-t?
2: mivel a JS kódja megtekinthető (le sem tudod védeni), ezért a titkosító algoritmus ismeretében könnyen vissza lehet fejteni.
3: ha a jelszót bárki láthatja küldés közben, akkor a titkosított változatot is, és igen egyszerűen meg tudja hamisítani a POST fejlécet
Szóval egy JS-es kliensoldail titkosítás olyannyira jó, mint halottnak a csók. Arról nem is beszélve, hogy sok embert kizársz az oldalról, lást 1. pont. Ha megbízható titkosítást akarsz, akkor marad a tárhely/szerverbérlés egy olyan helyen, ahol megy a https.
[Szerkesztve] -
Tele von Zsinór
őstag
A helyedben valahogy így csinálnám:
$a = fread($file,filesize(filename); //teljes file beolvasasa
$b = explode(''\n'',$a); //sorokra bontas
reset($b);
while(list($k,$v) = each($b))
{
$c = explode(''|'',$v);
echo(''<tr>\n'');
while(list($k2,$v2) = each($c))
{
echo(''<td>$v2</td>\n'');
}
echo(''</tr>\n'');
}
Nem biztos, hogy tökéletes, de az alapelv szerintem stimmel. -
Tele von Zsinór
őstag
válasz
Hujikolp #3369 üzenetére
Mondjuk a while előtt csinálsz egy ilyet:
$color=0;
$colors[0]=''#ffffff'';
$colors[1]=''#aaaaaa'';
Aztán a kiíráskor:
echo(''<td bgcolor=\'''' . $colors[$color] . ''\''>'blabla</td>\n'');
Majd a ciklus végén:
($color == 0)?($color = 1)$color = 0);
Minimális ráfordítással tetszőlegesen sok színre lehet moddolni. Persze van sokkal szebb megoldás is, mondjuk amikor css class neve változik, nem pedig php-be belekódolt színérték.
[Szerkesztve] -
Tele von Zsinór
őstag
válasz
paramparya #3242 üzenetére
Az extra határozottan jobb, mint az uw.
-
Tele von Zsinór
őstag
Regexp-el próbálom törölni a <pre></pre> tagokon belül az összes <br />-t ezzel:
$temp = preg_replace('`<pre>(.+?)<br />(.+?)</pre>`is',''<pre>$1$2</pre>\n'',$temp);
De ez csak az elsőt törli. Mit kell módosítanom, hogy az összeset? -
Tele von Zsinór
őstag
válasz
Hujikolp #3213 üzenetére
Idézek a blogom kódjából, nálam a select neve $_REQUEST[''offset''
, mivel get és post-ként is elfogadom:
$sql = ''SELECT MAX(id) FROM blog;'';
$db->query($sql);
$i = 0;
$row = $db->next_row();
$numrows = $row[0];
while ($i < $numrows)
{
echo('' <option value=\''$i\'''');
echo($i==$_REQUEST[''offset''?'' selected=\''selected\'''':'''');
echo(''>'' . ($numrows-$i) . ''-'');
echo((($numrows-$i-10)>0)?($numrows-$i-10)''1''));
echo(''</option>\n'');
$i += 10;
}
echo('' </select>\n'');
echo('' <input type=\''submit\'' name=\''offsetsubmit\'' value=\''OK\'' />\n'');
echo('' </form>\n'');
Ilyenkor ha van megadva, akkor bizony az is lesz kiválasztva.
[Szerkesztve] -
Tele von Zsinór
őstag
Csináld a következőt: a <?php előtt ne legyen se space, se újsor, rögtön utána az első parancs: ob_start(), a ?> előtt pedig az utolsó parancs az ob_end_flush(). Ez bekapcsolja az output bufferinget, azaz az ob_end_flush() hívásáig nem megy el egy sor sem, szóval bárhol lehet headerrel és cookie-val játszani.
-
Tele von Zsinór
őstag
Teljesen jogos az észrevétel, de ezt egy olyan, akinek ez volt sztem az első hsz-je ide, az nem tudja, és ennyiért kedve sincs megtanulni még alapszinten sem egy nyelvet, sőt, a sessionkezelés nem is alapszintű php. Ráértem, kb 20 soros a kód, pár percbe tellett csak megírni.
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
válasz
paramparya #2210 üzenetére
Igen, az szép és jó, de aki egy mukkot nem ért php-hez az nem tudja megcsinálni.
Stitch: nekiálltam, kis türelmet. -
Tele von Zsinór
őstag
Ezt némi házi tákolással meg lehet oldani, mondjuk sessinökkel. Az elején ellenőrzöd, hogy van-e postolva jelszó, ez alapján beállítasz egy sessionváltozót. Utána nézed, a sessionváltozó be van-e állítva, ha nem akkor kiírod a formot a jelszóhoz, ha megvan, akkor meg mehet a normál működés. Ha nem vágod, hogy kéne, megírom.
-
Tele von Zsinór
őstag
válasz
marcias #2176 üzenetére
$parancs = ''SELECT filmek.id,filmek.mcim,acim,qu,mlc,hang,kat,filmek.imdb,ertekel.ertek,source, AVG(ertekel.ertek) as jo from filmek join ertekel where filmek.mcim=ertekel.mcim group by mcim order by mlc,mcim'';
$eredmeny = mysql_query($parancs);
while ($sor = mysql_fetch_array($eredmeny)) {
helyett
$parancs = ''SELECT filmek.id,filmek.mcim,filmek.acim,filmek.qu,filmek.mlc,filmek.hang,filmekkat,filmek.imdb,ertekel.ertek,filmek.source, AVG(ertekel.ertek) as jo from filmek join ertekel where filmek.mcim=ertekel.mcim group by filmek.mcim order by filmek.mlc,filmek.mcim'';
$eredmeny = mysql_query($parancs);
while ($sor = mysql_fetch_array($eredmeny)) {
annyi h pár helyen beleraktam a tábla nevét, bár ha néha jó, akkor lehet nem ez a megoldás.
adatbázisban a mező (gondolom varchar) hossza elég? -
Tele von Zsinór
őstag
válasz
marcias #2169 üzenetére
A sessionökhöz hozzá van rendelve egy 32 karakteres hexa sessionid, csak ez van sütiben tárolva, minden más a szerveren. Ezzel egy hozzáértő felhasználó sem igazán tud vele mit kezdeni, ha lemódosítja másra, nagyon-nagyon kicsi esélye van, hogy talál egy éppen élő admin sessiont.
-
Tele von Zsinór
őstag
válasz
marcias #2165 üzenetére
Egyetértek az előttem szóló kollegával, a session kezelés egyszerűbb, mint bármi más, ezt megközelítő funkciójú eljárás, tulajdonképpen a php a legnagyobb terhet leveszi a válladról. Annyi a lényeg, hogy minden oldal elején a <?php után az első parancs a session_start() legyen, volt már hogy szívtam vele sokat, hogy elvelejtettem
, ezután csak a $_SESSION tömböt kell használni. Szerintem a session_register() is felesleges, ha a $_SESSION-ben létrehozol egy új elemet, akkor azt is elmenti.
A php 24 óra alatt egyszerűen elmagyarázza, hogyan is működik, ha jól emlékszem, korábban is azt ajánlották, egy egész fejezet van benne erről, én is azzal kezdtem. -
-
Tele von Zsinór
őstag
Ez most noob kérdés lesz: hogy lehet egy stringből egy substringet kiszedni?
szerk: bocs a zavarásért, meglett közben
[Szerkesztve] -
Tele von Zsinór
őstag
válasz
Hujikolp #1978 üzenetére
Egyszerű kód, nem ellenőriztem, hogy jó-e, és txt-re megy csak:
<?php
if (!isset($_GET[''file'']) || !file_exists($_GET[''file''] . ''.txt''))
{
die(''az oldalt mar megneztek'');
}
else
{
include($_GET[''file''] . ''.txt'');
unlink($_GET[''file''] . ''.txt'');
}
?>
Annyit csinál, hogy ha nem létezik a file vagy rossz paraméterrel hívod, akkor hiba, amúgy kiírja a filet, majd törli.
szerk: smiley-konvertalas tiltva
[Szerkesztve] -
Tele von Zsinór
őstag
válasz
Hujikolp #1975 üzenetére
A lehető legegyszerűbb kell, pár alkalomra, vagy egy komlexebb, sokszor és könnyen használható darab?
Az elsőt fileok létezésének vizsgálatával csinálnám, azaz ha létezik egy adott file (aminek a nevét mondjuk paraméterben kapja), akkor azt írja ki, amúgy meg mondja, h már meg lett nézve.
A második esetben már adatbázissal lenne jobb, abban tárolni akár a fileokat is (vagy wwwroot-on kívül, esetleg .htaccess-el levédve), és egyszerűen egy olyan mezőt is berakni, hogy meg lett-e már nézve.
Az elsőt gyorsan meg lehet oldalni, de olyan szervereken, ahol nincs se .htaccess se wwwrooton kívül pakolás, nem biztonságos. Ha már legalább az egyik lehetőség él, akkor elégséges biztonságnak lehet nevezni. Már ha nem államtitkokat akarsz felrakni -
Tele von Zsinór
őstag
Igen, a linket néztem, de szerintem ennyit tudni fognak, főleg ha odaírod alá...
Új IP-t kérni pár másodperces feladat, szóval szerintem ez nem megoldás. Az egyszerű hülyegyerek ellen szerintem jobb, ha csinálsz egy 1 napos cookiet, és ha ez megvan, akkor nem egeded a küldést. -
-
Tele von Zsinór
őstag
válasz
Felhasznalo9 #1914 üzenetére
A szöveges adatokat idézőjelbe kell tenni, tegyél a név, email, ilyenek elé és után '-t.
Aktív témák
Hirdetés
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Autós topik
- One mobilszolgáltatások
- Milyen processzort vegyek?
- DVB-T, DVB-S (2), DVB-C eszközök
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Prohardver app (nem hivatalos)
- OLED TV topic
- Renault, Dacia topik
- AMD Ryzen 9 / 7 / 5 10***(X) "Zen 6" (AM5)
- További aktív témák...
- IPhone 12 Pro 128GB gyári független 100% hibátlan új akku
- Legion 5 17ACH6H 17.3" FHD IPS Ryzen 7 5800H RTX 3060 16GB 512GB NVMe magyar vbill gar
- Latitude 5520 27% 15.6" FHD IPS érintő i7-1185G7 MX450 16GB 512GB NVMe ujjlolv IR kam gar
- Apple Watch Ultra 2 49MM e-Sim 2028.06.05-ig Média Markt Garancia Makulátlan Új állapotú
- Ninebot e2 plus garanciával
- ÁRGARANCIA! Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- LG 27GS60QC-B - 27" Ívelt - 2560x1440 - 180Hz 1ms - AMD FreeSync - Bontatlan - 2 Év Gyári Garancia
- BESZÁMÍTÁS! Sony PlayStation 4 PRO 1TB SSD fekete játékkonzol extra játékokkal garanciával hibátlan
- Bomba ár! Dell Latitude E5550 - i3-5GEN I 8GB I 128GB SSD I 15,6" HD I W10 I HDMI I Cam I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged