- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- btz: Internet fejlesztés országosan!
- antikomcsi: Celebtanya - Farm VIP V.
- Luck Dragon: Asszociációs játék. :)
- Bevezetés a wokok világába
- sziku69: Fűzzük össze a szavakat :)
- weiss: Pant* rant
Új hozzászólás Aktív témák
-
KMT
addikt
Egy másik topikból irányítottak ide.
Egy adatfájlból szeretnék minden második sort kitörölni. Mennyire bonyolult ezt megcsinálni PHP-vel? Abszolút nem értek hozzá.
-
Én módszeremmel se megy?
Itt a teljes, működő script kód,
a félig átlátszóságot előre kell beállítani a png fájlban.$image = imagecreatefromjpeg($this->file);
$imageWidth = imagesx($image);
$imageHeight = imagesy($image);
$watermark = imagecreatefrompng("watermark.png");
$watermarkWidth = imagesx($watermark);
$watermarkHeight = imagesy($watermark);
imagealphablending($watermark, true);
imagecopy(
$image,
$watermark,
round(($imageWidth - $watermarkWidth) / 2), // vízszintesen középre
round(($imageHeight - $watermarkHeight) / 2), // függőlegesen középre
0,
0,
$watermarkWidth,
$watermarkHeight);
imagejpeg($image);A végén csak beállítod, hogy mentse a képet, ne pedig megjelenítse.
-
Húú, átlátszósággal én is rengeteg szívtam régen.
Működő honlapból szedtem ki ezt a feldolgozó-kódrészletet:
imagealphablending($watermark, true);
imagecopy(
$image, // a kép forrásobjektum
$watermark, // a vízjel forrásobjektum
round(($imageWidth - $watermarkWidth) / 2), // horizontálisan középre
round(($imageHeight - $watermarkHeight) / 2), // vertikálisan középre
0,
0,
$watermarkWidth,
$watermarkHeight);FONTOS!! A vízjel eleve legyen részben átlátszó.
-
Xaero88
tag
én az imagemagick-et ajánlom rá egyszerü és nagyszerű. nem csak watermark-ra hanem nagyon sok mindenre tökéletes, csak telepiteni kell a szerverre
-
ArchElf
addikt
Hiretelen: http://www.google.hu/search?q=php+picture+watermark
Az elsőt nem tudtam megnézni a céges proxy miatt, de a második is jónak tűnik. Amúgy az on-the-fly wtermarking szerintem nem annyira jó ötlet, elég sokat eszik. Célszerű feltöltéskor rátenni a képre a watermark-ot és akkor csak egyszer kell a szervernek vacakolnia vele. Kivétel persze ha mindenféleképp kell a kép az eredeti (módosítatlan) állapotában is.
Amúgy gd van szinte minden netes megoldásban.Ja, és érdemes az egész watermark képet 50 - 75% -os átlátszóvá tenni.
AE
-
egy feltöltött jpg fájlra szeretnék vízjelet rakni- Png file lenne a vízjel amiben van átlátszó rész ... Eddig nem sikerült jó eredményt kieszközölnöm tudnátok valami pl kóddal segyteni?
-
kolja
tag
válasz
Tele von Zsinór #2788 üzenetére
Köszönöm a választ .... de ez amolyan, adott a probléma (kéne egy üzifal), nyomás gugli : legegyszerűbb üzenőfal (keres) ....
2 percután egy script, letölt, .... autodidakta módon hozzááll ... nomost ez mi
... aminemkell kiszed, csinál neki keretet, tárhelyre felrak ... próbáza ... neműködik sehogyan ... aztán jön ide sírva.
Tegnaptól tudom, hogy van olyan hogy PHP.... vagyis nem sok fogalmam van még adatbázisba rögzítésről meg hasonlókról, de még csak a file get put dologról sem.
Azt hittem csak valami extra betű a ludas ... majd még keresgélek, utánaolvasok...
Ettől függetlenül nagyon köszönöm!
-
Tele von Zsinór
őstag
Első javaslatként azt mondom, gondold át ezt a txt dolgot, hogy tényleg akarod-e. Sokkal jobb lenne mindezt adatbázissal megoldani.
Ha mindenképp maradsz ennél, a következő módszerrel időben csökkenő sorrendet tudsz tartani: mikor új bejegyzést kapsz, kiolvasod a file eddigi tartalmát, ennek az elejére berakod az új bejegyzést, majd kiírod az egészet. Függvényeknek lásd: file_get_contents() és file_put_contents().
-
kolja
tag
Üdvözlet mindenkinek!
Alap kis honlapot szeretnék összehozni a cégnek egy még alpabb üzenőfallal.
txt-be letárol-kiolvas jelleggel ...
A megfelelő adatbekérő HTML-t ez követné:<?php
$d = date("Y.m.d. H:i:s");
$file = "uzenetek.txt";
$name = $_POST['name'];
$sub = $_POST['sub'];
$msg = $_POST['msg'];
if(empty($sub) || empty($name) || empty($msg)) {
echo "<h3></h3>";
}
else {
$fp = fopen($file,"w");
fwrite($fp, "\r\n<BR>Név: <b>$name</b> \r\n<BR>Tárgy: <b>$sub</b> \r\n<BR>Üzenet:<br> <b>$msg</b> \r\n<BR>Dátum: $d.<br><br><hr>");
fclose($fp);
echo "<h3><center>Köszönjük hozzászólását!</center></h3>";
}
?>
<?php
$data= "uzenetek.txt";
$data1 = fopen ($data, "r");
$done = fread ($data1, filesize ($data));
fclose ($data1);
echo "$done";
?>A gondom (valszeg triviálisan egyszerű) a következő:
1. A txt-ben jelen esetben felülírja a már meglévő szövegeket. Ezért aztán mindig csak az utolsót jeleníti meg a későbbiekben. (változtattam már az fopen beállításokat de még csak úgy volt jó hogy kronológiailag haladt a kiírás fentről le). Azt szeretném elérni, hogy a legújabb beírás látszódjon legfelül.
Segítségeteket előre is köszönöm!
kolja -
válasz
Tele von Zsinór #2785 üzenetére
-
odie
csendes tag
Udv,
van egy file-om, amit tag-ekkel bovitenek.pelda:
...
<tag1>
blablabla
</tag1>
<tag2>
blablabla
</tag2>
<closing tag>a file-t <tagN>-nel szeretnem boviteni ugy, hogy a <closing tag> legyen mindig az utolso tag. Ha fopen-nel megnyitom a filet, fwrite-tal (+a kapcsoval) hozzairok, akkor mindig a file vegere ir a closing tag utan.
Van valami olyan parancs, ami esetleg kitorolne az utolso sort, amit a tagek beillesztese utan vissza tudnek rakni?
-
odie
csendes tag
Eddig nem hasznaltam osztalyokat, mert nem igazan volt ra szuksegem. Ezt a kodreszletet egy portfolio pluginbol szedtem, amit hasznalhatova szeretnek tenni ugy, hogy ne kelljen azert ujra irni az egeszet. Viszont nagyon nem akart ugy mukodni, ahogy en szerettem volna (ertsd az id valtozot), ezert kerdeztem a nagyerdemut.
Holnap szerintem lesz idom kiprobalni es kicsit atirni a kodot, ha elakadok, akkor ismet kerdezek.
Koszi az utbaigazitast.
-
cucka
addikt
Igazából az a hiba, hogy nem arra használod az osztályodat, amire való.
Az osztály változóit csak deklarálni kell, alapértelmezett értéket a konstruktorban kapjanak. Az osztály változóinak megadásakor lehetőleg mellőzd a var kulcsszót, helyette specifikáld az adott változó láthatóságát, vagyis hogy public, protected vagy private típusú-e az a változó.
A var kulcsszó a php4 teljesen elb*szott oop részének a maradványa, akár el is hagyhatod. Ha nem specifikálod a láthatóságot, akkor az alapértelmezés szerint public lesz.Itt egy példa, hogy kb. hogyan képzeld el..
class imageUpload{
private $id;
public $basedir;
public $maxuploadsize;
public function __construct($p_id, $p_basedir=null){
$this->id=$p_id;
if ($p_basedir) $this->basedir=$p_basedir; else $this->basedir=$this->id;
$this->maxuploadsize=10;
}
} -
odie
csendes tag
válasz
burgatshow #2752 üzenetére
Ez egy nagyon jo otlet, koszi!
-
odie
csendes tag
Sziasztok,
segitsegeteket szereretnem kerni a kovetkezo problemaban:
Szeretnek egy konyvtarnak olyan nevet adni, amit (adatbazisbol) egy sorszambol nyerek ki. Az egyszeruseg kedveert itt a 6-os szamot adtam meg. Ezt szeretnem valahogy atultettni a $baseDir nevebe mint string, de sehogy nem akar mukodni. Mindig hibat ir ki (Parse error). Konverzios vagy szintaktikai hiba lehet? (szerintem a masodik, de nem talalom ra a megoldast)Van valami otletetek mit szurok el?
class maxImageUpload {
var $v_id=6;// Maximum upload size
var $maxUploadSize = 10; // 10 Mb// Directories to store images
var $baseDir = $v_id;
var $originalDir = 'original';
var $normalDir = 'normal';
var $thumbDir = 'thumbnail';
var $infoDir = 'info';
}koszi,
Odie -
Louloudaki
aktív tag
dedede hát azok pont hogy jók, nézd csak az oldalt, bal oldalon gyorskeresőbe írd be hogy kesztyű klikk keresés és kiadja a kesztyűket, mind jó ű-vel pedig a csv-ben kalapos volt. vagy lencsevédő és azok is jók pedig hullámos o volt a csvben.
csak és kizárólag a nagy Ú és nagy Ó csesződik el, minden egyéb okaj.termék csoport selectben látszik.
télleg str_replace lesz. még a leltár progi gyártó céget megkérdem milyen kódolást köp ki az a szemét, örülnék ha nem kéne riplészelni.köszi mindenkinek az ötleteket, ha megoldottam, közzéteszem
-
PazsitZ
addikt
válasz
Louloudaki #2774 üzenetére
Félreértettem akkor a dolgot.
De ha meg csak ennyi a baj replace-el kicserélheted az összeset. -
1ed
csendes tag
válasz
Louloudaki #2774 üzenetére
Helló! Nekem ez megoldotta a hasonló problémámat. Ha valamelyik karakterkód nálad nem stimmel ez alapján korrigálhatod. Arra figyelj hogy a php fájlt utf8-ban mentsd.
$ascii = array();
$ascii[225] = chr(225); //á
$ascii[233] = chr(233); //é
$ascii[237] = chr(237); //í
$ascii[243] = chr(243); //ó
$ascii[246] = chr(246); //ö
$ascii[245] = chr(245); //ő
$ascii[250] = chr(250); //ú
$ascii[252] = chr(252); //ü
$ascii[251] = chr(251); //ű
$ascii[193] = chr(193); //Á
$ascii[201] = chr(201); //É
$ascii[205] = chr(205); //Í
$ascii[211] = chr(211); //Ó
$ascii[214] = chr(214); //Ö
$ascii[213] = chr(213); //Ő
$ascii[218] = chr(218); //Ú
$ascii[220] = chr(220); //Ü
$ascii[219] = chr(219); //Ű
// a nagybetűk közül lehet hogy nem jó: ÓŰŐÚÜ
$ok = array();
$ok[225] = 'á'; //á
$ok[233] = 'é'; //é
$ok[237] = 'í'; //í
$ok[243] = 'ó'; //ó
$ok[246] = 'ö'; //ö
$ok[245] = 'ő'; //ő
$ok[250] = 'ú'; //ú
$ok[252] = 'ü'; //ü
$ok[251] = 'ű'; //ű
$ok[193] = 'Á'; //Á
$ok[201] = 'É'; //É
$ok[205] = 'Í'; //Í
$ok[211] = 'Ó'; //Ó
$ok[214] = 'Ö'; //Ö
$ok[213] = 'Ő'; //Ő
$ok[218] = 'Ú'; //Ú
$ok[220] = 'Ü'; //Ü
$ok[219] = 'Ű'; //Ű
$str = str_replace($ascii, $ok, $str); -
cucka
addikt
válasz
Louloudaki #2774 üzenetére
Korábban ideírtam egy függvényt, valami hasonlóval tudod megoldani a problémát, mert pl. a latin1-es kalapos ű-t semmi nem fogja neked automatikusa utf8-as rendes ű-re konvertálni.
(Nyilván, amit beírtam, az utf8->latin1 konverzió, neked a fordítottja kell) -
PazsitZ
addikt
válasz
Louloudaki #2769 üzenetére
Notepad++ -al megnyitod, formátum menü, átalaítás UTF-8-ra menüpont egy pillanat alatt átkonvertálja.
-
Xaero88
tag
a kép elérések relativ vagy abszolut modon vannak megadva? itt lehet a bibi szvsz
-
Orb1337
tag
Weboldalamba szeretném a simleviewer flash alapú galériát használni. A galéria gond nélkül működik, ha a hozzá adott index.html fájlt futtatom, viszont ha egy könyvtárral feljebb szeretném a flash fájlt beilleszteni egy php oldalba akkor nem találja a galériát hibát ír ki.
Mi lehet a gond?
Használta valaki ezt a galériát? -
Louloudaki
aktív tag
válasz
PazsitZ #2768 üzenetére
mert 3000 sor a csv fájl és minden sor 15 oszlopból áll, csupán csak ezért nem nyúlnék hozzá kézzel
valami kobra progi köp ki terméklistát amit havonta 1x szinkronizálni kell a webshoppal. de a progi cseszi el a cuccot, ma fogtam magam és végignéztem, kalapos u meg hullámos o van benne ű meg ő helyett is, szal nemtom mi lesz a végső megoldásom még
-
PazsitZ
addikt
válasz
Louloudaki #2765 üzenetére
Miért nem alakítod át simán pl. notepad++ -al a csv fájlt és használod utána ploblémamentesen UTF8-ként?
-
cucka
addikt
válasz
Louloudaki #2765 üzenetére
Sem iconv-al, sem mb_convert_encoding-al, sem pedig utf8_decode-al nem fogja helyesen kezelni a magyar ékezetes betűket.
Itt egy példa, ami utf8-as szöveget alakít át iso-8859-1 kódolásra. A kód az ű betűből kalapos ü-t csinál, mert jobbat nem tudunk ebben a karakterkódolásban, de ez alapján el lehet indulni. A lényeg, hogy a problémás karaktereket kicseréljük valamire, utána használjuk a php beépített függvényeit (itt utf8_decode-ot, de iconv is jó neked), utána a lecserélt karaktereket ismét lecseréljük az új kódolású megfelelőikre.
function my_utf8_decode($p_str){
$str=str_replace(array('ő','ű','Ő','Ű'), array('&o";', '&u";', '&O";', '&U";'), $p_str);
$str=utf8_decode($str);
$str=str_replace(array('&o";', '&u";', '&O";', '&U";'), array(chr(0xf5), chr(0xfb), chr(0xd4), chr(0xdb)), $str);
return $str;
}Ami még fontos, hogy az excel csv export-jának karakterkódolása változó lehet, tehát gyakorlatilag nem lehet hozzá normális feldolgozó programot készíteni.
-
Louloudaki
aktív tag
meggyűlt a bajom iconv()-val. van egy excellel mentett csv fájlom, szeretném betolni adatbázisba utf8ra konvertálva. soronként 2 mező értékét kéne konvertálni, ezekben van magyar szöveg. na most az a probléma, hogy a nagy "Ú" és nagy "Ó" eltűnik mire elmenti a táblába, tehát ami "Újság" lenne az "jság" stb
így konvertálok most:
$rows['3']=iconv("ISO-8859-2", "UTF-8", $rows['3']);
$rows['4']=iconv("ISO-8859-2", "UTF-8", $rows['4']);
próbáltam //TRANSLIT és //IGNORE formában is, eredmény dettó.
iso-8859-1ről és windows-1252ről is próbáltam konvertálni, szintén translit és ignore használatával is, még rosszabb lett, a kis ő, ű stb rosszul jelent meg, szal az iso-8859-2->utf-8 lenne a nyerő, de mégse teljesen.
a vicces hogy localhoston megy tökéletesen, csak az élő szerveren tűnnek el a betűk.
mit lehet ezzel kezdeni? -
Xaero88
tag
Nem vészes összedobni, ha a PHP 24 óra alatt cimü könyvet bevágod, kisujjbol megcsinálod..
Ha nincs kedved pepecselni ezzel én elkészitem neked valami jelképes összegért cserébe. -
blast3r
csendes tag
Sziasztok!
Egy weboldalhoz szeretnék galériát adni. A neten van egy csomó phpben írva. Vkinek van vmilyen tapasztalata vmelyikkel? Melyiket ajánljátok? -
Protezis
őstag
"Ezt mennyire nehéz PHP-ban összedobni? HTML-ben programoztam már, az nem para, de PHP-ban még sose. Van valami program, amivel ezt egyszerűen össze tudnám dobni?" - Kinek mennyire. A HTML nem programozási nyelv. Nincs ilyen program, ezt le kell kódolni. Ha van tapasztalatod egyéb nyelvekben, akkor 1-2 nap alatt össze tudod hozni. Ha nincs, akkor fel kell kötni a gatyát, vagy meg kell fizetni egy programozót.
-
KrAt
veterán
Sziasztok!
Előrebocsájtom: tökhülye vagyok a PHP-hoz
Adott egy weblap, amire szeretnék csinálni (külön lapként, valszeg külön szerveren (saját) is) egy olyan dolgot, hogy az ember egy kitölt egy űrlapot (nem kell belépni se, semmi) hogy:
-kicsoda
-mit ad el
-mennyiért
-email
-msn
-telóEz utána rendezett módon megjelenik egy lapon, simán, egymás alatt.. Ezekből tudok (külön jelszóval?) törölni, ha nem megy, akár adatbázisból lokálisan is.
Ez az alapkoncepció. Ezt lehetne fejleszteni úgy, hogy lehessen keresni is benne. Ez már csak hab a tortán..
Ezt mennyire nehéz PHP-ban összedobni? HTML-ben programoztam már, az nem para, de PHP-ban még sose. Van valami program, amivel ezt egyszerűen össze tudnám dobni?
Előre is köszi:
Atesz -
kymco
veterán
Ne haragudjatok, de elakadtam, és sos-ben kellene továbblépnem, és egy éve még tudtam a megoldást, most meg nem találom...
Ha php karakterlánc típusú változó utolsó karaktereként "\"-kellene adnom értékadásnál, hibát jelez, és tudom, hogy azért, mert a "\" spéci karakter, de nekem kellene egy olyan értékadás, ahol a karakterlánc utolsó eleme "\"...
$tmp="c:\tmp\"; -
burgatshow
veterán
-
A mai nappal megérkezett a stabil PHP 5.3.0, egy rakás újítással:
- namespaces,
- late static binding,
- closures (anonim függvények),
- optional garbage collection for cyclic references,
- new extensions (like ext/phar, ext/intl and ext/fileinfo),
- over 140 bug fixes and much more.Migration Guide: [link]
-
sonar
addikt
Sziasztok,
Meg tudná vki mondani, hogy miért nem fut le az alábbi sor:
if (($szamlalo %2) = 0)
-
Orb1337
tag
válasz
vincent001 #2744 üzenetére
http://www.tutorial.hu/egyeni-submit-gomb/
Ilyenre gondoltál? -
vincent001
csendes tag
Sziasztok,
A kérdésem, hogyan tudok gombokat hozzárendelni a funkciókhoz? A következő van . Adott egy Webáruház ahol egy form –al beillesztek a gombot de az csak alap Windowsos lesz( szürke szögletes). Ezt szeretném kiiktatni és a saját dizájnomat odatenni.
Köszi
-
-
Orb1337
tag
php jelszóval védett tartalomat szeretnék létrehozni, van egy adminfelületem ami kér user-t, pw-t amit sessionbe tárolok. A többi lapra csak bejelentkezés után lehetne eljutni, ha enélkül próbálnának rálépni, akkor hibaüzi, hogy jelentkezz be, esetleg visszaugrik a bejelentkezéshez. A következő kóddal próbálkoztam:
<?php
session_start();if($_SESSION['belepett'] == true)
{
print "Védett oldal";
}
else
{
print "Jelentkezz be!";
}?>
Ez oké, de egy egész oldalt szeretnék védetté tenni, amin több php funkciót is használok (pl. hírírás).
Tudtok adni egy kis ötletet? -
vincent001
csendes tag
Sziasztok,
Ne kövezetek meg de nem rég elvégeztem egy "web programozói tanfolyamot" ami igazából nem sokat ért. Nem is értek a php-hez de nagyon szeretnék csinálni egy webáruházat, aminek egy része már kész is, kosár, hírlevél, belépés....stb de nem tudom összerakni ,hogy hibátlanul működjön. Esetleg nincs köztetek valaki aki tudna" korrepetálni " reális áron esetleg IX vagy a XXI kerület közelében? Azt tudom ,hogy sokan elvállalnák az oldal készítését több száz ezer forintért de nincs is erre ennyim illetve érdekel a téma és érteni is szeretném, hogy mi miért működik.
Köszi
-
ArchElf
addikt
Nem lehet, két külön build van rá (már ha a PHP-ről van szó...)
Amúgy az ZEND Debugger install guide-ból:
Note:
The Windows non-thread safe binary is only used with Zend Core 2.0.AE
-
Tele von Zsinór
őstag
válasz
Odiepapa #2736 üzenetére
Miért "sajna"? Ez annyit tesz, hogy a kliens böngészője ismeri és engedélyezi a sütik fogadását, nem urlben kell átadnod a sessionid-t.
Ezzel visszaélni akkor lehet, ha elkapja valami köztes fél, beállítja magánál sütinek és meglátogatja az oldalad - persze az is kell, hogy nálad ne legyen ip, user-agent, stb. ellenőrzés. -
Odiepapa
csendes tag
válasz
Tele von Zsinór #2725 üzenetére
Sajna van a $_COOKIE-ban PHPSESSID. Nem tudom mennyire lehet ezzel visszaelni, mert nem hasznalom igazabol semmire, csak azt vizsgalom hogy letezik-e vagy sem. Az erteket SEHOVA nem rakom be. Arra megvannak a sajat egyedi azonositoim (amit lentebb leirtam), ami nincs benne a $_COOKIE-ban.
-
-
Niquis
aktív tag
válasz
Protezis #2732 üzenetére
Sajna túlvagyok minden határon, amit a manuálok írnak... anno windowsra végigszívtam egyszer a debugger telepítést, azóta a folyamattal tisztában vagyok
phpinfo() látja a debuggert, dummy.php a helyén, php.ini beállítva localhost, 127.0.0.1-re (és phpinfo azt is helyesen írja). Itt tényleg elfogyott a tudományom.
-
Niquis
aktív tag
válasz
ArchElf #2730 üzenetére
Hú, erre külön figyeltem, az Eclipse modul az a legújabb, a szerveroldali pedig ahhoz a php-hoz való, amilyen fenn van (5.2.x), és abból van egy RC1-es meg egy régebbi is, mind a kettőt kipróbáltam, sajnos ugyanaz. Lehet hogy az indiánoknál van a gebass...
XDebuggal még járok egy kört, de azzal már windowson se sikerül eljutni sehova, és itt is ugyanazt csinálja. De azért megpróbálom még, köszi! -
Niquis
aktív tag
Heeeeeelp!
Debuggolni szeretnék péhápét Eclipse-ben, van egy ubuntum és azon a vele adott apache 2, meg feltettem hozzá a php5-öt és rá a Zend debuggert, beállítottam, ahogy kell, de már a teszten azt jelzi, hogy nincs fenn a debugger, és a system logban pedig olyat találtam, amikor a debuggerhez kérés érkezik, hogy "Segmentation fault: debug handle overwritten". Ha hibás a debugger, akkor sokat nem tudok tenni, de akkor másoknak sem menne...
Találkoztatok már ilyennel? Vagy van valami tipp?
Köszi! -
Tele von Zsinór
őstag
Kb. ez kell neked akkor:
if (false !== ($list = @file("lista.txt") && count($list)) {
$key = array_rand($list);
header("Location: " . $list[$key]);
die(sprintf("<a href=\"%s\">Átirányítva ide: %s</a>", $list[$key], $list[$key]));
}Ha nem sikerül megnyitni a filet, vagy üres, nem csinál semmit.
-
sec0nd
tag
válasz
Tele von Zsinór #2726 üzenetére
Köszi, akkor leírnád úgy, hogy egy txt-ből, és a másikat is, ha tiltva lenne a html átirányítás?
Köszi szépen -
Tele von Zsinór
őstag
$list = array("címek");
$key = array_rand($list);
header("Location: " . $list[$key]);A lényeg ennyi, beolvasást úgy oldod meg, ahogy jólesik (akár adatbázisból, akár txtből mondjuk a file()-al), illetve illik némi html kimenetet is adni, ha a http átirányítás tiltva volna.
-
Odiepapa
csendes tag
válasz
ArchElf #2722 üzenetére
ArchElf: koszonom a tanacsot, mindenkeppen vegigmegyek a listan es a leheto legtobb kiskaput megprobalom kivedeni.
Nem vagyok igazan profi (inkabb lelkes amatornek mondanam magamat) es lehet hogy lamernek hangzik a kerdes, de honnan tudom hogy a session cookie-ba megy vagy sem?
A kozos php file-ban levo fuggvenyben feltoltom az adatbazisbol a sessiont a kovetkezo modon:
fuggveny sessionfeltoltes($id);
{
$id = mysql_real_escape_string($id);
$eredmeny= mysql_query("SELECT * FROM tabla
WHERE email='$id'");$ize=mysql_fetch_object($eredmeny);
$_SESSION["s_id1"] = $id;
$_SESSION["s_valami1"] = '$ize->valami1';
$_SESSION["s_valami2"] = $ize->valami2;
... es igy tovabb...
}Ez igy okes?
biker: holnap kicsit tobb idom lesz kiprobalni a kepfeltoltest maskeppen.
-
sec0nd
tag
Sziasztok!
Egy olyan átirányító script kellene, ami egy listából válogat, és minden oldalat nagyjából uannyiszor dob be.
előre is köszi! -
ArchElf
addikt
válasz
Odiepapa #2719 üzenetére
Javaslatok:
- password ne menjen át cleartext-ben a hálózaton, ne legyen cleartextben tárolva az adatbázisban (lehetőleg ne is titkosítva, hanem hash-elve legyen)
- username:password ne legyen eltárolva cookie-ban
- az include könyvtárra ne legyen joga a böngésző usernek
- a php hibaüzeneteket nem jelenítjük meg az oldalon (tipikus hiba adatbázis kezelésnél), menjenek szerver oldali logba, és esetleg dobjon egy mail-t a kód az üzemeltetőnek
- szerveroldalon a kapott adatokat mindig ellenőrizni kell: a kliens azt küld, amit akar, nem szükségszerúen azt, amit várunk
- adatbázis beillesztésnél az SQL injection-re figyelni kell, legegyszerűbb (mint alant is írtam) prepared insert-et használni
- XSS védelem: amennyiben a GET/POST-ban kapott adatokat (azonnal, vagy később) megjelenítjük, figyeljünk oda, hogy véletélenül se jelenítsünk meg olyan HTML kódot, amit nem szeretnénk (legegyszerűbb kivédési mód a htmlspecialchars() használata - letárolás vagy megjelenítés elött)Amennyiben komolyak biztonsági szempontok, akkor a következőkre kell figyelni:
- ne lehessen egy kérést újra elküldeni - a session azonosítóban kel egy (illetve kettő) számláló, amit a szerver (kettö esetében a szerver és a kliens) növel, vagy generáljon a szerver minden letöltéshez új session hash-t
- ha kézikusan készül a session kezelés, akkor a session lejáratra oda kell figyelni
- célszerű titkosításon keresztül üzemelni, de legalább is az azonosítást azon keresztül végezni - bár ezt leginkább a password cleartextben való elküldésének védelmére szokták használni (https - csakis aláírt tanúsítvánnyal)
- ha cookie alapú a session, akkor a cookie ellopásával ne lehessen másik helyról bejelentkezni, lejárt, de kézzel visszatöltött cookie-val ne lehessen bejelentkezniEgyelőre ennyi jutott az eszembe...
AE
-
Odiepapa
csendes tag
Sziasztok,
egeszen felelesztem a forumotLenne meg egy kerdesem, ami az ftp_login-nal kapcsolatos.
Nekem nem akar localhostra kapcsolodni ftp_login paranccsal. Hol lehet a problema?
$conn_id = ftp_connect("localhost");
$login_result = ftp_login($conn_id, 'user', password'');File feltoltesekor visszadobott eredmeny:
"ftp_login() expects parameter 1 to be resource, boolean given"tudom hogy "ftp.valami.hu"-t kellene megadnom, de anno ezt localhostra irtam egy masik oldalamnal es ha jol emlekszem, akkor ott siman bevette a file-t.
Udv,
O -
Odiepapa
csendes tag
Sziasztok,
szeretnek egy gyors brainstormingot, hogy egy belepteto rendszerrel rendelkezo weboldalnal milyen biztonsagi resekre kell odafigyelni illetve milyen altalanos eljarasokat javasoltok hasznalni. Username, pw adatbazisban tarolva, kulon fuggveny ellenorzi.Amugy az eljarasok tobbseget fuggvenyek ellenorzik es hajtjak vegre bemeneti es kimeneti valtozok segitsegevel. Ezek a fuggvenyek (fuggvenygyujtemeny) a fooldaltol teljesen kulon file-ban helyezkednek el es a fooldal megnyitasakor include_once fuggvennyel hivom meg.
otleteket elore is koszi,
Odiepapa -
Drizzt
nagyúr
válasz
fordfairlane #2717 üzenetére
Oké, közben már rájöttem, hogy simán egy stripslashessel megkapom a lényeges tartalmat, ami nekem kell az adott helyen.
Meg közben olvasgattam és gondolkodtam a dolgokon.
-
Odiepapa
csendes tag
válasz
fordfairlane #2714 üzenetére
mindennap tanul az ember
-
Odiepapa
csendes tag
válasz
Odiepapa #2712 üzenetére
kicsi modositas az elozo kerdesemen:
Amikor adatbazisbol betoltom az elozoleg feltoltott textarea tartalmat az oldalra egy $valami [blob] valtozoba es kiiratom print $valami, akkor nem tartja a szokozoket. Viszont ha modositashoz betoltom a textarea ablakba a $valami tartalmat, akkor viszont ott van a szokoz. Tehat a soremelesek tarolodnak, csak print parancsra nem igazan adja vissza azt, ami igazabol ott van. (remelem ertheto modon irtam le
)
ezen hogy lehet segiteni?
-
Odiepapa
csendes tag
válasz
vancha2 #2711 üzenetére
akkor talan a kovetkezore is tudsz valaszt adni:
van egy textarea-m. Kitoltom, atfuttatom htmlspecialchars-szal, majd elmentem az adatbazisba BLOB-kent. Amikor visszatoltom az oldalra, illetve ismet betoltom a textarea-ba, hogy modositani tudjam (majd ujra elmenteni), akkor a soremelesek / sortoresek mar nem ugy jelennek meg, mint az erdeti szovegben anno, hanem egybefolyik az egesz szoveg, mondat mondatot kovet es nincs sorkihagyas.
Milyen megoldas van arra, hogy az eredeti szovegformatummal tudjam tarolni es visszatolteni?
-
vancha2
aktív tag
válasz
Odiepapa #2710 üzenetére
A mysql_real_escape_string() escape-eli a karaktereket, pl a "-ből \"-öt csinál.
A htmlspecialchars() a speciális, HTML-ben használt karaktereket alakítja át az entitás kódjukká, pl a "-ből "-ot csinál.Ezek után egyértelmű, hogy mikor melyiket érdemes használni.
-
Odiepapa
csendes tag
válasz
Tele von Zsinór #2706 üzenetére
ahogy nezem ez a mysql_real_escape_string() hasonlo mint a htmlspecialchars(), amit hasznalok az urlapoknal. Mikor melyiket erdemes hasznalni? A prepared execute-nak eleg erdekes a statementje.
-
Odiepapa
csendes tag
válasz
ArchElf #2707 üzenetére
Koszonom a gyors reakciot es a segitseget!
Egyszeru de nagyszeru modon megoldottam a dolgot.
Nem kell tulbonyolitani a helyzetet, mivel mindenkeppen hasznalok INSERT es DELETE parancsot, ezert egyszerubb a sok vizsgalat helyett kitorolni az eredetit es beilleszteni az uj adatsort. Igy nem kell temp tabla sem es kivesebb lepesbol kijon feltetelek nelkulAz adatbiztonsaggal kapcsolatban meg van nehany kerdesem. Meg azt sem tudom hogy lehet https protokollal dolgozni (marpedig arra is lesz szuksegem ha minden igaz). Addig megvizsgalom az altalatok emlitett ket fuggvenyt es ha valami nem clear, akkor batorkodom kerdezni
-
ArchElf
addikt
válasz
ArchElf #2707 üzenetére
Perssze a perpared execute csak az SQL Injection ellen véd, az Cross Site Scripting-et (XSS), még ki kell védeni, ha weblapon szeretnéd megjeleníteni az adatbázisban tárolt adatokat.
AE
-
ArchElf
addikt
válasz
Odiepapa #2705 üzenetére
Ha sok elemed van, akkor benyomod az összeset egy temp táblába, és betöltöd a következővel:
INSERT INTO
CelTabla (mezo1, ...)
SELECT
mezo1, ...
FROM
Temp
WHERE
ID NOT IN (SELECT ID FROM CelTabla)Utána csak droppolod a temp táblát.
Ja és nem kell vacakolni az escapeléssel, PREPARED EXECUTE-ot kell használni.
AE
-
Tele von Zsinór
őstag
válasz
Odiepapa #2705 üzenetére
A te $eredmeny változód nem egy tömb lesz, hanem egy mysql erőforrásra való mutató. Egy-egy sort a mysql_fetch_* függvények valamelyikével tudsz lekérni, ha az egészet tömbbe akarod, akkor valahogy így:
$tomb = array()
while (false !== ($row = mysql_fetch_array($eredmeny))) { $tomb[] = $row; }Ahol a $eredmeny az, amit te beállítottál neki a függvényed első sorában, a $tomb pedig az összes sort fogja tartalmazni asszociatív és számokkal indexelt tömbökként.
Más: a $service és a $id már escapelt? Ha nem, komoly biztonsági kockázatot jelent csak így berakni őket a querybe, használd előbb rajtuk a mysql_real_escape_string() függvényt!
-
Odiepapa
csendes tag
Sziasztok,
kicsit megakadtam egy feladatban es a segitsegeteket kernem. Ket tombnek az elemeit szeretnem osszehasonlitani. Az egyik tomb mar bent van az adatbazisban, es a masik tombre szeretnem cserelni. Hogy lehetseges ez a legkonnyebb modszerrel? en az in_array-jel probalkoztam, de nem teljesen kerek a valaszadasnal. A lenyeg az lenne, hogy ha mar bent van az elem az adatbazisban, akkor ne bantsa, ha meg nincs benne, akkor illessze be, ha meg olyan elem van az adatbazisban, ami az ujban nincs, akkor azt torolje. En a kovetkezot probaltam osszehozni tobb-kevesebb sikerrel:function ServiceUpload($service, $id)
{
$eredmeny= mysql_query("SELECT szam FROM tabla WHERE mas_id=`$id`);
if (mysql_num_rows ($eredmeny))
{
foreach ($service as $ertek)
{
if (in_array($ertek,$eredmeny))$eredmeny2 = mysql_query("INSERT INTO tabla (mas_id,szam) VALUES ('$id','$ertek')");
}
}
else //nem tartozik ehhez az id-hez tarolt adat
foreach ($service as $ertek)
{
$eredmeny2 = mysql_query("INSERT INTO tabla (mas_id,szam) VALUES ('$id','$ertek')");
}
}A torlest meg nem irtam meg. Arra gondoltam, hogy megnezem maximum elemet annak a tombnek, amit be szeretnek tenni es ha az adatbazisban levo tombben van ennel nagyobb elem, akkor azt torlom.
Ki mit tud hozzatenni ehhez az egyszeru de nagyszeru feladathoz?
-
válasz
ArchElf #2702 üzenetére
Hát erre a IIS+PHP4+MSSQL kombóra csak annyit tudok mondani, hogy jajjj...
Amúgy szerintem ezt a session_set_save_hander() függvényt csak akkor van értelme használni, ha már egy kész weblapnak akarod átalakítani a munkamenet-kezelését. Mert amúgy szerintem több értelme van egy teljesen új, független kezelőt írni, pl OOP-ben.
-
ArchElf
addikt
Én pont a múlt héten dobtam össze egy MSSQL-es session kezelést (tudom, hogy az IIS+PHP4+MSSQL már majdnem főbenjáró bűn - de ugye a megbízónak mindig igaza van
) Mondjuk ha megtaláltam volna ezt a függvényt, lehet, hogy megspórolok egy órát (bár ahogy nézem, egész máshogy oldottam meg a dolgot - igaz biztos nem lett ilyen szép, mint ezzel volna).
AE
-
cucka
addikt
Bár a Session kezelés picit fura, néha bejelentkezés után vagy 2-3 mp és ki is lépett, néha meg akár 5-6 percig is bejelentkezve marad. Session időt tudom valahogy manipulálni, ha nem férek hozzá a szerverbeállításokhoz?
Szerintem valószínűleg a session kezeléseddel van a probléma, pl. van olyan aloldal, ahol hiányzik a session_start().
Az ini_set nagyon kevés szerveren van engedélyezve, a phpinfo()-val viszont meg tudod nézni a szerver session beállításait.
Új hozzászólás Aktív témák
- Zenless Zone Zero (ZZZ)
- Eurós árlista a Google Pixel 10 telefonokhoz
- HP notebook topic
- Nagyon érzékeny lett a játékok archiválására a Nintendo
- Napelem
- Futás, futópályák
- Egyesítené a ChromeOS-t és az Androidot a Google
- Genshin Impact (PC, PS4, Android, iOS)
- Riasztó topik
- Építő/felújító topik
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! 1TB Corsair MP700 NVMe SSD meghajtó garanciával hibátlan működéssel
- Xiaomi Redmi Note 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Okosóra felvásárlás!! Samsung Galaxy Watch 6, Samsung Galaxy Watch 7, Samsung Galaxy Watch Ultra
- AKCIÓ! Apple MacBook Pro 13 2022 M2 8GB 256GB SSD garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest