- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- sh4d0w: Csak a profit - emberélet nem számít
- vrob: Az IBM PC és a játékok a 80-as években
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
DS39
nagyúr
válasz
PumpkinSeed #16999 üzenetére
ezt így látatlanban (a teljes kód ismerete nélkül) nehéz megmondani hol rontod el, tippre valahol mindig újra létrehozod ezeket a session változókat, mielőtt ezt az ellenőrzést lefuttatod / erre az ellenőrző oldalra lépsz. (véletlenül nem lesz igaz ez a két feltétel)
-
DS39
nagyúr
válasz
PumpkinSeed #16997 üzenetére
az úgy felesleges, a destroy törli az összeset. szóval vagy unset-et vagy destroy-t használj.
-
DS39
nagyúr
válasz
PumpkinSeed #16994 üzenetére
session_destroy() előtt volt session_start() is? mert ha nem akkor az a hiba.
unset()-et is használhatsz. -
tothjozsi96
addikt
Ti milyen adatokat szoktatok cache-elni?
Gondolok itt memcache-re vagy akár .txt fájl cache-re is.
Mert most elgondolkodtam azon hogy egy oldalon egy statisztika ahol van például 10-12 elem és ezek mind külön lekérdezésekből kapott adatok, tehát és ezt frissíti mondjuk 100 felhasználó egy időben az azért szerver gyilkos tud lenni, nem? -
DNReNTi
őstag
válasz
PumpkinSeed #16992 üzenetére
Törölted a session-t a két teszt között?
-
PumpkinSeed
addikt
Böngésző alatt meg lehet valahogy nézni, hogy az adott oldalon milyen session-k vannak beállítva?Ez megvan, már csak azt nem érte, hogy van egy ilyen kódrészletem:
session_start();
if(isset($_SESSION['status']) && isset($_SESSION['password'])){
if($_SESSION['status'] == 1 && $_SESSION['password'] == "kenyér"){
return 1;
}
else{return 0;}
}
else{return 0;}és teljesen üres a session táblázat akkor miért kapok vissza mégis 1-et?
-
DNReNTi
őstag
válasz
tothjozsi96 #16984 üzenetére
"nem tudom mi a problémád azzal ha .txt fájlban van számolva hogy mennyiszer töltötték le"
Teszem azt van 800.000 letölthető fájlod. Szép kis fájlrendszer lesz szövegfájlokban vezetve melyik hányszor lett töltve. Arról nem is beszélve: rendezd már növekvő/csökkenő sorba. Egy szóval tudnám a legjobban összefoglalni: adatbázis. -
Sk8erPeter
nagyúr
válasz
tothjozsi96 #16982 üzenetére
"Lenne egy olyan kérdésem hogy adott egy letöltés számláló."
Igen. -
PumpkinSeed
addikt
válasz
tothjozsi96 #16987 üzenetére
Igen, de lehet, hogy a magánember egy kollégiumban lakik.
-
tothjozsi96
addikt
válasz
PumpkinSeed #16986 üzenetére
Oké, akkor nem tudom.
Talán tároljak egy cookie-t hogy ő már letöltötte-e?Amúgy relatív sok jó megoldás van de egyik sem lesz 100%-os.
Mert ez nem egy olyan oldal amit egy intézmény használ hanem magán emberek .. -
PumpkinSeed
addikt
válasz
tothjozsi96 #16985 üzenetére
Csak van, hogy egy IP címet egy intézmény használ és akkor máris elesel pár 100 letöltéstől.
-
tothjozsi96
addikt
válasz
tothjozsi96 #16984 üzenetére
Amúgy most eszembe jutott még egy dolog aminek lehet értelme.
Hogy 1 IP címről csak 1x számolja a letöltést és akkor elkerülhetők a félreértések. -
DNReNTi
őstag
válasz
tothjozsi96 #16982 üzenetére
"A chrome-nál automatán elindul a letöltés."
Nem. Csak ha úgy van beállítva. Default, így van."Egy txt fájlban van mentve hogy eddig hányan töltötték le."
Ha már úgyis Karácsony: Jesus fuckin' Christ.Egyébként:
Szerver oldalon nem fogod tudni, hogy végül a fájlnak mi lett a sorsa. -
tothjozsi96
addikt
Lenne egy olyan kérdésem hogy adott egy letöltés számláló.
Az a lényeg hogy rákattintasz egy linkre akkor ott letölti az adott fájlt a géped.
De viszont, ezt mi számoljuk.
Na igen, csak az a baj hogy a firefox-nál van hogy lemented-e vagy sem.
A chrome-nál automatán elindul a letöltés.Egy txt fájlban van mentve hogy eddig hányan töltötték le.
Kérdésem az lenne hogy kikerülhető-e ez valahogy?
Mert ha így van:$file = "../valami.png";
function letolt($url) {
header("Location:$url");
}
if(letolt($file)) {
ekkor +1
} else {
ekkor meg nem történik semmi.
}Na igen, csak az a baj hogy a header miatt már nem írja a fájlt.
Tehát eddig vagy úgy próbáltam hogy ha simán sikeres minden, akkor beírta előbb a fájlba a +1-et és utána a letöltés de nekem úgy kellene hogyha tényleg letölti akkor írja be ..
Remélem érthető vagyok! -
Sk8erPeter
nagyúr
válasz
trisztan94 #16979 üzenetére
Nem próbáltam, de esetleg azzal eggyel beljebb lehetnél, ha minden jármű után (tehát bármilyen újabb fejléc előtt) beszúrnál egy-egy page breaket, ahogy itt a példában minden 10. sor után beszúr egyet:
https://github.com/PHPOffice/PHPExcel/blob/develop/Examples/09pagebreaks.php
$objPHPExcel->getActiveSheet()->setBreak( 'A' . $i, PHPExcel_Worksheet::BREAK_ROW );
Persze ki kéne próbálni, hogy látsszon, ez milyen újabb megoldandó problémákat vet fel. -
bambano
titán
válasz
trisztan94 #16979 üzenetére
"hogyan tudom ellenőrizni, hogy egy excel fájl írása közben mikor van a nyomtatási lapnak a vége?": szerintem sehogy, az excel previewben oda rakod a margókat, laptöréseket, ahova akarod, és az excel betömöríti akkorára a lapot.
próbálj meg inkább pdf-et generálni, az egzaktabb.
-
trisztan94
őstag
Hali!
Egy menetlevél készítő szoftvert hegesztek egy futárcégnek. Ezt a nagyszerű PHPExcel library-vel valósítom meg.
Egy ilyen menetlevélnek a következő nyomtatási sablonnak kell megfelelnie:
Minden lap tetején egy fejléc, ahol a jármű neve és az egy műszakos menetlevélnek a számozása (tehát pl menetlevél 3/1, menetlevél 3/2 stb) van. Ha esetleg kevesebb sor lenne, mint ami kifér egy lapra, akkor is üresen kell hagyni a lap további részét, tehát még véletlen sem kerülhet 4-5 sor után a következő járműnek a fejléce a lapra. Ugyanígy nem csúszhat át a fejléc egy másik lapra, stb.
Itt az a probléma, hogy egy bszott nagy táblázatból generálja a szoftver a menetlevelet. Ilyen 20-30.000 soros táblázat a bemenet, ami 100-120 autóra van felbontva, ahol minden sor egy címet jelöl.
Na szóval a tényleges probléma az lenne, hogy nem tudom, hogy amikor írom az Excel fájlt kódban, hogyan tudnám azt, hogy mikor van a lap vége. Próbáltam azt, hogy egy fix sor számot (29-et) állítottam be, de az sem volt jó, mert a megjegyzés mező ha hosszabb és esetleg 2-3 sorra széthúzza magasságban a cellát amiben van, akkor nem fér ki ugye a 29 egy lapra.
Esetleg csinált már valaki ilyet?
TL;DR: hogyan tudom ellenőrizni, hogy egy excel fájl írása közben mikor van a nyomtatási lapnak a vége?
-
TomKiss
tag
válasz
fordfairlane #16977 üzenetére
szuper, köszi!
-
TomKiss
tag
ez most lehet elég láma kérdés lesz, de nem jövök rá, hogyan lehetne megoldani.
Köszi előre is a javaslatokat!Adott egy változó, melynek tartalma szavak szóközökkel és "<br />"-ekkel tagolva.
Hogyan tudnám külön változókba tenni az értékét, úgy hogy az új változó értéke a két br közötti rész legyenvagyis:
$valt = "szöveg szöveg szöveghossz <br /> blblb blablabl blbllb lblbl <br /> blblbla lbblblalblba [és a többi]-- ból legyen
$valt1 = "szöveg szöveg szöveghossz"
$valt2 = "blblb blablabl blbllb lblbl"
$valt3 = "blblbla lbblblalblba"
és a többi -
PumpkinSeed
addikt
Elég kevés információt osztottál meg, illetve szerintem még nagyon te se tudod mit szeretnél ezáltal kivitelezni. Milyen platformra tervezed? Windows alatt szeretnéd, hogy fusson, vagy webes felületen? Esetlegesen, milyen programozási nyelven szeretnéd? Akarsz használni valami engine-t hozzá, vagy teljesen fejből akarod megcsinálni az egészet?
Szvsz előbb gondold át mit és hogyan szeretnél csinálni, majd utána próbáld meg megtervezni. -
DNReNTi
őstag
A kérdés kiváló.
(#16971) eMKid
Szétmegyek.Az év kommentje kérem.
-
eMKid
csendes tag
Hello!
Tudna valaki segíteni olyan témában,hogy hogyan lehet saját telepítőt készíteni?Nem egy sima önkicsomagoló exe-re gondolok,hanem egy olyan külön programra,amit ha elindítok akkor kijön egy általam választott háttér,azon a képn ki tudom választani hogy egy több részes játékból melyiket akarrom elepíteni,megjelennek az adott részhez tartozó bonusz dolgok stb.Vagy ha van már egy adott program ami hasonlóan néz ki akkor hogyan,milyen programmal tudom átalakítani,a kiírásokat,hátteret szövegeket??
A segítséget előre is köszönöm!Üdv
-
bambano
titán
válasz
fordfairlane #16967 üzenetére
-
fordfairlane
veterán
válasz
bambano #16966 üzenetére
Jahogyúgy, félreértettem. Akkor a pack függvényt kell használni, ez adja meg egy változó bináris megfelelőjét. Az első paraméter a formátum. a nagy V a 32 bites előjel-nélküli integer.
<?php
$a = 100001;
file_put_contents("ebbe.bin", pack('V', $a));
?>Az integer belső ábrázolása a netes bölcsesség alapján nem egyértelmű. 64 bites linuxon 64 bit, 32 bites linuxon és mindenféle windowson 32 bit előjeles.
-
bambano
titán
válasz
PumpkinSeed #16965 üzenetére
a php-ban a binary kettes számrendszerbeli ábrázolást takar, ha jól látom, vagyis egy olyan stringet kapok eredményül, amiben 1-esek meg 0-ák vannak.
de nekem nem ez kell, mint a felírt példa mutatja. hanem az, hogy belerakok egy változóba egy decimális számot, fenti példában százezer-egyet, és azt szeretném a fájlban látni, ahogy ezt a belső 32 bites számábrázolásában tárolja. ennél jobban nem tudom elmagyarázni.
-
PumpkinSeed
addikt
válasz
honda 1993 #16960 üzenetére
Nem fogom megint leírni, hogy kezd el alapoktól a php-t blabla majd azután foglalkozz erősebb projektekkel blabla. Keress rá a neked küldött válaszaim között.
A másik a PHP mail függvényével nem érdemes szenvedni, hidd el nekem én pár estét átsz*ptam vele és akkor se tudtam működésre bírni. PHPmailer.
(#16962) bambano
"...hogy tudom egy változó értékét binárisan beleírni egy fájlba (nem kettes számrendszerben)?"
Ez azért kicsit ellentmondásos, binárisan de nem kettes számrendszerben?
-
bambano
titán
súgjatok már pls, hogy tudom egy változó értékét binárisan beleírni egy fájlba (nem kettes számrendszerben)?
tehát azt mondom, hogy:
$a=100001;
ezzel csinálunk valamit, és akkor a fájl úgy kezdődik, hogy 0xa1,0x86,0x01,0x00.100001 decimális az 0x000186a1.
kösz.
-
DNReNTi
őstag
válasz
honda 1993 #16958 üzenetére
$content = "<html><title>$subject</title><body>$body</body></html>";
(#16960) honda 1993
Tegyük hozzá, miután kiderült mire akarod használni, és legfőképpen figyelembe véve a "környezeti változókat". Lásd fentebb.Szerk: elírás
-
válasz
honda 1993 #16958 üzenetére
És mi a kérdés?
Az biztos, hogy a mail függvény helyett használd a phpmailert vagy swiftmailert -
honda 1993
senior tag
Volna viszont egy masik kerdesem.
Az oldalamon lesz egy olyan funkcio, amivel a latogato egy egyszeru urlap kitoltesevel tud E-mailt kuldeni nekem.
<form method="post" action="php/feldolgozo.php">
<input id="nev" type="text" name="nev" placeholder="nev" />
<br /><br />
<input id="email" type="text" name="email" placeholder="email cim" />
<br /><br />
<textarea id="megjegyzes" name="azonosito" rows="20" cols="55" placeholder="Megjegyzes" ></textarea><br />
<input id="kuldes" type="submit" value="Elkuldes" />
</form><?php
$address = "valaki@gmail.com";
$subject = "Mail-próba";
$body = "Szia!";
$header = "MIME-Version: 1.0\n";
$header .= "Content-Type: text/html; charset=utf8\n";
$header .= "From: valahonnan.hu <info@valahonnan.hu>\n";
$header .= "Errors-to: postmaster@valahonnan.hu\n";
mb_internal_encoding("UTF-8");
$subject = mb_encode_mimeheader($subject, "UTF-8", "Q");
$content = "<html><title>$subject</title><body>$body</body></html>";
$success = mail($address, $subject, $content, $header);
if ($success) {
echo "OK";
} else {
echo "NO";
};
?>Tehat van ugye a html kod, amiben az urlap talalhato, az action pedig az utobbi "feldolgozo.php" fajl.
Jelenleg itt tartok a dologgal, de nem tudom hogy innen hogyan tovabb.
Ebben tudtok segiteni ?Ez azert valamivel egyszerubbnek tunik mint a login rendszer es ezert foglalkozok inkabb ezzel.
-
Zedz
addikt
válasz
honda 1993 #16953 üzenetére
Szerintem szánd rá az időt arra amit DNReNTi linkelt. Tanulsz is belőle, és többre mész mint az ilyen ekevas tutorialokkal, ahol még mysql_connectet használnak. Nincs elég időd elolvasni? Miért kell kapkodni?
-
DNReNTi
őstag
válasz
honda 1993 #16953 üzenetére
Ebben a kottában kábé az a legkisebb hiba.
-
honda 1993
senior tag
válasz
DNReNTi #16952 üzenetére
Emlekszem is az altalad linkelt oldalra, csak arra gondoltam hogy keresek egy rovidebb illetve egyszerubb forraskodot mert szamomra meg bonyolult ez a dolog.( Tenyleg csak a nagyon alap fogalmakkal vagyok tisztaban a php nyelvet tekintve.)
Viszont nagyon szeretnek egy mukodo login rendszert mert az oldalam mar lassan keszen allna arra hogy megoszthassam masokkal is."Végül is, igen bonyolult átírni a type="text"-et type="password"-re"
Nem volt bonyolult, meg is tettem.De ettol meg szerintem eleg nagy hiba.
-
DNReNTi
őstag
válasz
honda 1993 #16949 üzenetére
Még szerencse, hogy a múltkor belinkeltem egy egészen korrekt leírást tele kommentekkel, magyarázatokkal, lépésről lépésre.
(#16951) honda 1993
"lattam hogy a jelszo is ugyanugy latszik mint a felhasznalonev, akkor mar sejtettem hogy ez az egesz forraskod kuka"
Végül is, igen bonyolult átírni a type="text"-et type="password"-re. Ettől függetlenükl egyébként abban igazad van: "ez az egesz forraskod kuka". -
honda 1993
senior tag
Koszonom, ez eddig vilagos is, csak sajnos ettol fuggetlenul nem igazan vagyok kepes magamtol elkesziteni ( egyelore ), viszont az oldalam mar lassan keszen all ra hogy feltoltsem.
Es ezert szeretnek egy egyszeru kis login rendszert.Egyebkent az a durva hogy a html kodban talaltam egy ilyen hibat : <input name="mypassword" type="text" id="mypassword"></td>
Amikor ki akartam probalni es lattam hogy a jelszo is ugyanugy latszik mint a felhasznalonev, akkor mar sejtettem hogy ez az egesz forraskod kuka es nem lenne nyero otlet felhasznalni.
-
Zedz
addikt
válasz
honda 1993 #16949 üzenetére
Ez a tutorial nem jó. Ha már ezt látod egy kódban, akkor hagyd ott: mysql_connect. Párszor már le lett írva, hogy ez egy idejét múlt megoldás, már nem szabad használni, helyette ott van a mysqli (igen, direkt van i betű a végén) vagy esetleg a PDO.
Gondolkozzunk el egy kicsit, hogyan is működhet egy nagyon alap login rendszer? Van ennek több módja is, de vegyünk egy nagyon alapot.
Regisztrációnál mi történik? A megadott adatokat beszúrjuk egy adatbázisba, de ez előtt lehetőleg szerver oldalon kiszűrjük az "ártalmas" karaktereket, és sha1(jelszo) hash segítségével elkódoljuk a jelszavunk. Amikor valaki be szeretne jelentkezni, akkor a login formban megadott mondjuk felhasználó név és jelszó párosra lefuttatunk egy keresést az adatbázisban. Ha megtaláljuk a felhasználónév - jelszó párost, akkor létrehozunk egy úgynevezett sessiont, amiben adatokat tudunk tárolni. Ez a felhasználó böngészőjében tárolódik, tehát mindenki egyedi sessionnel fog rendelkezni. Ha ebben eltárolsz mondjuk egy olyan változót ami azt ellenőrzi, be van-e jelentkezve, akkor ezt szerver oldalon tudod ellenőrizni. Ha az oldalbetöltéskor ezt megvizsgálod, és megtalálod a session-ben keresendő változót, akkor pl. üdvözlöd a felhasználót, ha mégsem találtad meg, akkor simán átirányíthatod a bejelentkező felületre.
-
honda 1993
senior tag
Sziasztok.
Ezen leiras alapjan probaltam meg elkesziteni az oldalamra a login+ registration php kodot.
De valamiert nem akar sikerulni, csak annyi lenne a kerdesem, hogy ha mindent jol csinalok akkor osszesen hany db php fajlnak kellene lennie?
Mert a leirasban mindig az van hogy pl : step 5 create file blabla.php es en minden egyes lepesnel egy uj php fajlt hoztam letre, de ez igy nyilvan nem lesz jo. ( Es ez az oka annak is hogy most nem osztom meg veletek a kodot, ugyanis annyira zavaros es ertelmetlen ebben a formaban hogy semmi ertelme nem volna.)Ha esetleg annyit el tudnatok mondani hogy az oldalon felsorolt lepesek kozul melyik az ami nem feltetlenul szukseges a mukodo login kodhoz, akkor nagyon orulnek.
-
Sk8erPeter
nagyúr
válasz
Dr.Burn #16947 üzenetére
1. Úgy próbáld elérni az értékét a cikluson belül, hogy $row['firstWord'].
Ha meg kifejezetten egy értékre van szükséged, akkor nyilván korlátozni kell a query-t egy WHERE feltétellel (pl. ahol az azonosító értéke 123)."Probaltam $result-bol kinyerni azt."
Az úgy nem lesz jó.2. már megszámolni se tudnám, hányszor írtuk le a topicban, hogy a mysql_* kezdetű függvények FELEJTŐSEK, ÖRÖKRE. Még a mysql_query doksijában is ott van az ember arcába vágódó, piros hátterű szöveg:
"Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_query()
PDO::query()" -
Dr.Burn
őstag
válasz
Sk8erPeter #16946 üzenetére
$result = mysql_query("SELECT SUBSTRING_INDEX(`sentence_field`, ' ', 1) AS `firstWord` FROM `table`");
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}Az hogy meg kapom az egesz mondatot vagy nem kapok semmit.
Amit szerettem volna, hogy$mail->Body = 'something'
koze beirom az elso szot a mondatbol.
Probaltam $result-bol kinyerni azt.
$iresult = $_POST[$result];
termeszetesen ez igy nem jo, de a tudasom marhara korlatozott. Probalom kitalalni hogyan lenne a legegyszerubb ezt megoldani, de meg nem nagyon sikerult. -
Dr.Burn
őstag
válasz
Sk8erPeter #16944 üzenetére
Igazad van, nem is neztem igazabol hogy van kulon MySQL topic.
Probaltam, de valamit elronthatok, mert vagy jon minden, vagy semmi.
Meg szorakozok vele. -
Dr.Burn
őstag
Sziasztok,
Kellene egy kis segitseg.
Msyql-ben eltaroltam par informaciot ami nekem kell egy form kitoltesehez. Aztan egy email kuldeshez.
A gondom az, hogy van egy sor Mysql-ben aminek az eltarolt erteke altalaban nem egy szo, hanem 3-5.
Nekem csak az elso szo erteke kellene.
Pl. Baba ruhak - ez van mysql-ben eltarolva. Nekem csak az elso szo kellene, Baba.Ezt hogyan tudnam megoldani?
Koszi.
-
honda 1993
senior tag
válasz
PumpkinSeed #16941 üzenetére
Csak elkerülte a figyelmemet és ezért nem reagáltam.
Sorry.
-
PumpkinSeed
addikt
válasz
sztanozs #16930 üzenetére
Szvsz nem a legjobb dolog a webfejlesztés tanulófázisában beépítendő modulokra támaszkodni. Vagyis úgy mondom, hogy ameddig nem tud egy hasonlót összeállítani, persze nem egy beépítendő modulhoz hasonlót hanem egy célnak megfelelőt alkotni addig nem szabadna használni, ha már megy akkor lehet könnyítésként.
(#16931) honda 1993
Megkérdezhetem, hogy PH-n hogy lehet letiltani az embereket? Mert szemmel láthatóan folyamatosan ignorálod a hozzászólásaim így érdekel, hogy hogyan is lehet ezt megcsinálni.
(#16940) Sk8erPeter
Próbálsz.
-
DNReNTi
őstag
válasz
Sk8erPeter #16938 üzenetére
Nem áll jól.
-
Sk8erPeter
nagyúr
válasz
honda 1993 #16937 üzenetére
IKSZDÉNÉGYNÉGYNÉGY
-
honda 1993
senior tag
válasz
Sk8erPeter #16936 üzenetére
Már éppen akartam is mondani hogy hiányoztak ezek a megjegyzéseid.
-
Sk8erPeter
nagyúr
válasz
honda 1993 #16935 üzenetére
Hát ez botrány!
-
DNReNTi
őstag
válasz
honda 1993 #16933 üzenetére
Dehogy hosszú, tele van kommentekkel. Másrészt egy csomó plusz dolog is van benne, amik szigorúan véve nem kellenek egy bejelentkezéshez.
-
DNReNTi
őstag
válasz
honda 1993 #16931 üzenetére
Ehin e egy: How to Create a Secure Login Script in PHP and MySQL.
-
sztanozs
veterán
válasz
PumpkinSeed #16928 üzenetére
Tekintve, hogy vannak bonyolultabb dolgok is a login/reg rész megírásánál is érdemesebb lenne nem innen onnan összeollózott kódokból megcsinálni hanem magadtól írni egyet. - én inkább azt ajánlanám - amennyiben nem csak játszásiból kell, hanem publikálni is fogja (neadjisten pénzt is fizetnek érte) -, hogy ahelyett hogy maga megírná, inkább használjon egy működő login modult erre a célra.
-
PumpkinSeed
addikt
válasz
honda 1993 #16926 üzenetére
Elnézést a kötekedésért, de publikálni akarod az oldalad? Mert ha jobb esetben egy login/reg részt nem tudsz összehozni nem biztos, hogy biztonságilag publikálható lesz.
Tekintve, hogy vannak bonyolultabb dolgok is a login/reg rész megírásánál is érdemesebb lenne nem innen onnan összeollózott kódokból megcsinálni hanem magadtól írni egyet. Még ha eleinte nem is megy akkor is próbálkozni. Ha valami nem megy akkor megkérdezni itt, hogy hogyan kellene ezt megvalósítani, majd a kapott válaszokban lévő információkat feldolgozni esetleg mélyebben utána nézni. Ha komolyabban akarsz webfejlesztéssel foglalkozni akkor elengedhetetlen önmagad fejlesztése.
-
sztanozs
veterán
válasz
honda 1993 #16926 üzenetére
-
honda 1993
senior tag
válasz
sztanozs #16925 üzenetére
Nos, mint ahogy emlitettem ezt azon a bizonyos oldalon talalhato pelda kodok segitsegevel probaltam meg osszeallitani, tehat nem az en munkam.
Es sajnos nem tudom hogy mi az a "reflected XSS".Valojaban en csak azt szeretnem ha vegre lenne egy mukodokepes login+ registration az oldalamon, mert mar tenyleg csak ez hianyzik ahoz hogy teljes legyen. ( Csak sajnos ez nem olyan egyszeru, es tokre ugy erzem hogy soha nem fogom tudni megoldani )
-
sztanozs
veterán
válasz
honda 1993 #16922 üzenetére
reflected XSS hibák tömkelege
-
DNReNTi
őstag
válasz
honda 1993 #16922 üzenetére
A tippem az $error[] tömb.
-
honda 1993
senior tag
Sziasztok.
Egy ideje olvasgatom az egyik php tanfolyamos oldalt, es kozben megprobaltam osszeallitani egy regisztracios urlapot az oldalon levo kodok segitsegevel.
<!DOCTYPE html>
<html>
<head>
<meta charset="iso-8859-2" />
<link rel="stylesheet" type="text/css" href="reg/style.css" />
<title>Regisztr�ci�</title>
</head>
<body>
<div id="container">
<?php
$reg_data = "reg/data.txt";
include("reg/reg.php");
?>
</div>
</body>
</html><?php
if (isset($_POST["submit"])){
// adatgy�jt�s
$name = trim($_POST["name"]);
$pass1 = trim($_POST["pass1"]);
$pass2 = trim($_POST["pass2"]);
$email = trim($_POST["email"]);
if (!isset($_POST["prog"])){
$_POST["prog"] = array();
}
// hibakezeles
$valid = true;
$error = array();
if (strlen($name) == 0){
$valid = false;
$error["name"] = 'Kotelezo kitolteni!';
}
if (strlen($pass1) == 0 || strlen($pass2) == 0){
$valid = false;
$error["pass"] = 'Kotelezo kitolteni!';
}
if ($pass1 != $pass2){
$valid = false;
$error["pass"] = 'A ket jelszo nem egyezik!';
}
if (strlen($email) == 0){
$valid = false;
$error["email"] = 'Kotelezo kitolteni';
}
if (!isset($_POST["accept"])){
$valid = false;
$error["accept"] = 'A felteteleket el kell fogadni!';
}
// urlap feldolgozasa
if ($valid){
// ...
}
else{
// urlap visszat�lt�se
$prog = array();
foreach ($_POST["prog"] as $lang){
$prog[$lang] = 'checked="checked"';
}
if (isset($_POST["accept"])){
$accept = 'checked="checked"';
}
}
}
?>
<div class="sample-reg">
<form method="post" action="">
<strong>A csillaggal jelolt mezok kitoltese kotelezo!</strong>
<div>
<span>* Felhasznalonev:</span>
<span class="error"><?php print $error["name"]; ?></span>
<input type="text" name="name" value="<?php print $_POST["name"]; ?>" />
</div>
<div>
<span>* Jelszo ketszer:</span>
<span class="error"><?php print $error["pass"]; ?></span>
<input type="password" name="pass1" value="" />
<input type="password" name="pass2" value="" />
</div>
<div>
<span>* E-mail cim:</span>
<span class="error"><?php print $error["email"]; ?></span>
<input type="text" name="email" value="<?php print $_POST["email"]; ?>" />
</div>
<div>
<span class="error"><?php print $error["accept"]; ?></span>
<input type="checkbox" name="accept" value="1" <?php print $accept; ?> />
* Elfogadom a felhasznalasi felteteleket!
</div>
<input class="submit" type="submit" name="submit" value="Kuldes" />
</div>
</form>/* st�luslap */
* {
margin: 0;
padding: 0;
outline: 0;
}
body {
padding: 20px;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
}
div.sample-reg {
margin: 5px 0px 10px 0px;
padding: 10px;
width: 700px;
border: 1px solid #aaaaaa;
background-color: #eeeeee;
line-height: 20px;
}
div.sample-reg div {
padding: 5px 0px;
}
div.sample-reg span {
display: inline-block;
width: 170px;
}
div.sample-reg span.langs {
display: block;
width: auto;
}
div.sample-reg span.error {
float: right;
width: auto;
color: #ff3333;
font-weight: bold;
}
div.sample-reg .success {
padding: 0;
color: #00aa00;
font-weight: bold;
}
div.sample-reg label {
display: inline-block;
padding: 1px;
min-width: 100px;
}
div.sample-reg input[type="text"],
div.sample-reg input[type="password"] {
padding: 3px;
border: 1px solid #888888;
font-size: 12px;
}
div.sample-reg .submit {
margin-top: 10px;
}
.submit {
width: 100px;
height: 25px;
font-weight: bold;
background: url("images/buttonbg.jpg") top repeat-x #D9D9D9;
color: #000000;
font-weight: bold;
padding: 0px 4px 2px 4px;
border: 1px solid #CCCCCC;
cursor: pointer;
}
.submit:active {
background-color: #cccccc;
background-image: none;
outline: none;
}Amikor futtatni probalom akkor megjelenik ugyan, de kapok par hibauzenetet is.
Az 59, 64, 70, 75. sorokban nincs definialva egy valtozo. ( en pedig nem veszem eszre hogy melyik az)
Es ez volna az amiben a segitsegeteket kernem. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #16915 üzenetére
Ne legyen így szétdobálva külön-külön fájlokra, inkább legyen egy REST API-szerűséged.
-
DNReNTi
őstag
válasz
PumpkinSeed #16919 üzenetére
Véletlen sem szeretnék beleszólni, de szerintem ha már ráfordítod az időt, akkor fordíts rá egy picivel többet és ne csak működjön, hanem legyen jó is. Teljesen építő jelleggel mondom ezt, nem leszólás akar lenni.
Egyrészt most, hogy benne vagy, nem nagy kaland valamivel jobbra, általánosabbra megírni, mint mondjuk hónapok múlva, amikor azt se tudod mit miért úgy csináltál meg ahogy. Másrészt egy csomó jó dolgot meg lehet tanulni, mikor az ember egy ilyet "hobbifejleszt". Harmadrészt, ha sikerül elég általános motort írnod, akár értékesíteni is tudod, ráadásul rengeteg időt meg tudsz spórolni, hiszen már van egy jól működő, megbízható alapod, csak testre kell szabd a specifikus igényeknek megfelelően.
Hajrá! -
PumpkinSeed
addikt
válasz
DNReNTi #16918 üzenetére
Nálam úgy van megoldva, hogy a bejelentkezést követően sessionben letárolja a bejelentkezett személy felhasználónevét és a jelszó sha1 titkosított változatát. Majd ha valami jogosultságos oldalra lép akkor az a tartalom csak akkor jelenik meg, ha az felhasználó és a jelszó megegyezik a tárolt-al. Mivel ez egy blog ezért nem kellett adatbázis lényeg, hogy csak én tudjak belépni, hisz saját célra lesz. (Igaz nem kell túl sok mindent átírni ahhoz, hogy ez több felhasználóra is menjen.) A jelszó viszont sehol nincs letárolva még a kódban sem titkosítatlanul. Nem túl erős biztonság, de egy sima blogra szerintem bőven elég.
-
DNReNTi
őstag
válasz
PumpkinSeed #16917 üzenetére
Az oké, hogy a felület így megy (gondoltam), de az magát a fájlt nem védi.
Erre gondolok pl:
www.pumpkinseed.hu/admin/engine/edit_post.php?method="delete"&pid=34Ha nem ellenőrzöd a jogosultságot az "edit_post.php" fájlban, akkor bárki kedvére kitörölheti pl az összes posztot. Visszatérve a felületre, nem biztos, hogy a jelszó a legjobb módja az azonosításnak. Sőt. Kapásból elhasal, a dolog, ha két egyforma jelszó van. Na meg nem is szerencsés tárolni sem session-ben, cookie-ban meg főleg. Korábban már tárgyaltuk ezt szerintem pont ebben a topikban, legjobb ha id-hoz és még valami unique mezőhöz kötöd az azonosítást. Akár a munkamenet maga is kaphat egy azonosítót.
Ez már lvl3.
-
DNReNTi
őstag
válasz
PumpkinSeed #16915 üzenetére
Elég erre egy fájl. Szerintem a törlés is "szerkesztés". Legyen az adatbázisban a bejegyzések táblának egy olyan mezője, amiben azt tárolod, a bejegyzés látható/aktív e, így nem kell törölnöd, csak ezt átváltani. Ha esetleg véletlen törölsz, vagy töröl valaki, így könnyen visszaállítható. Fontos: Arra figyelj, hogy mikor valaki ezt a fájt használja, ellenőrizd van e jogosultsága a műveletre! Ezzel kezd.
-
PumpkinSeed
addikt
Ha adott egy management.php amiben a bejegyzések vannak felsorolva és mögöttük Edit/Delete. Melyik a jobb megoldás, ha az Edit és Delete illetve ezen kívül az új bejegyzés mind a management.php-ra mutatnak vissza egy változóval ami megmondja a 3 közül pont melyiket kellene csinálni és ez alapján if-ekre van szedve. Vagy ha külön részekre szedem mint pl. edit.php, delete.php, new_post.php? Persze ezekre egy másik állományban már megvannak írva a metódusok, csak meg kell hívni őket, ezért érdekel, hogy most felesleges ezért külön szedni őket, mert csak annyi a funkciójuk, hogy kapnak változót.
-
DNReNTi
őstag
válasz
PumpkinSeed #16913 üzenetére
Jogos, én az azt követő posztot néztem.
Visszavonom a kötekedésem.
-
PumpkinSeed
addikt
válasz
DNReNTi #16908 üzenetére
Én argumentumokat írtam nem?
Akkor elnézés.
(#16909) Sk8erPeter
Tudom-tudom, teljesen új dologként hat a szervezetemre az OOP és mivel MVC-ben próbálom megcsinálni, ezért még jobban összekavar, és elfelejtek gondolkodni, de viszonylag minden működik. Egy alap blog motort csinálok csak úgy hobbiszinten.
-
sztanozs
veterán
válasz
honda 1993 #16911 üzenetére
Azt első működő tesztverzió az utolsó verzió
-
sztanozs
veterán
válasz
honda 1993 #16907 üzenetére
Ráadásul az egyiket bejelentkezes-nek, a másikat registration-nek hívják...
-
Sk8erPeter
nagyúr
válasz
honda 1993 #16907 üzenetére
Miért nem kezded azzal, hogy megpróbálsz minimális saját energiát is belefektetni?
(#16906) PumpkinSeed:
"Csak mivel változók voltak bent ezért ez nem jutott az eszembe"
Merthogy a változók valami mágikus dolgokat művelnek, és nincsenek nekik értékeik, amiket akár "kézzel" is behelyettesíthetsz? -
DNReNTi
őstag
válasz
honda 1993 #16907 üzenetére
Kiderülni kiderül mit szeretnél, de a button tag-nek nincs action attribútuma. Ez így teljesen nem jó. Ráadásul amellett, hogy rossz, még csúnya is, miért nem jó egy sima hivatkozás (<a>), szépen megformázva? Te csak linkelni szeretnél ha jól látom, nincs űrlap művelet. Ráadásul ez miért PHP kérdés?
Szerk:
(#16906) PumpkinSeed
Csak, hogy tovább kötekedjek: a metódusoknak, függvényeknek paraméterei vannak, nem változói. -
honda 1993
senior tag
Sziasztok.
Majd nemsokara elkezdem az oldalamon a registration + login php-t. (Mondjuk a multkor is ezt mondtam, de mostmar tenyleg).
Ez igy mukodhet majd? <button id="bejelentkezesgomb" action="bejelentkezes.php" type="button">jelentkezz be</button>
<button id="registratiogomb" action="registration.php" type="button">jelentkezz be</button>
Nem tudom hogy ebbol kiderult- e szamotokra hogy mi a tervem, de a lenyeg az hogy az oldalon levo gombra kattintva nyilik meg a "registration.php" fajl, es igy tud majd regisztralni az aki szeretne.
-
PumpkinSeed
addikt
válasz
Sk8erPeter #16902 üzenetére
Tényleg.
Csak mivel változók voltak bent ezért ez nem jutott az eszembe.
Köszönöm ismételten.
(#16903) DNReNTi
Ezt csak gyors szemléltetésként vázoltam fel, azért ilyen hiányos.
-
DNReNTi
őstag
válasz
fordfairlane #16904 üzenetére
Zsír. Akkor jogosan kötekedek.
-
DNReNTi
őstag
válasz
PumpkinSeed #16901 üzenetére
Most lehet ez láma lesz, de ez így működik?
public ex(){}
Tehát elhagyható a function? Én világéletemben úgy használtam. -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #16901 üzenetére
Ömm, hát
ex(12, NULL, "Imre");
Ugyanígy lehetne akár ex(12, NULL, NULL, "Imre"); is... -
PumpkinSeed
addikt
Ha van egy metódusom, ahol van x argumentum ahol x>4 ebből az első argumentum kivételével a többi opcionális lenne. Hogy tudom azt megadni, hogy a példányosítás után ha meghívom a metódust és nem tudom, hogy az opcionális értékek közül épp melyiket adják meg akkor azok a megfelelő helyre kerüljenek?
Egy példa:
public ex($arg1, $arg2 = NULL, $arg3 = NULL, $arg4 = NULL){}
majd meghívás:
ex(12, "Imre");
Az "Imre" stringet az $arg3 argumentumba akarom tenni. Hogy lehet ezt megvalósítani?
Új hozzászólás Aktív témák
Hirdetés
- LG 45GS95QX-B 45" ÍVELT OLED MLA WQHD 240HZ 0.03 MS GAMING MONITOR
- HP Zbook 15 laptop (15,6FHD/I7-G4MQ/16GB/128SSD/Nvidia2GB)
- Latitude 7450 14" FHD+ IPS Ultra 7 165H 32GB 1TB NVMe IR kam gar
- LG 45GR95QE-B Ívelt OLED 2K WQHD 240Hz, 0.03ms, NVIDIA G-Sync ,FreeSync Premium ,HDMI 2.1
- HP Probook 840 G1 laptop (14/i5-G4/8GB/128SSD) - Erős akku!
- Dixit 4 Eredet (bontatlan, fóliás kártyacsomag)
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RTX 4060Ti 8GB GAMER PC termékbeszámítással
- Honor X7B szép állapotban 6/128GB fekete / 12 hónap jótállással!
- Gamer laptop felvásárlás Magas áron, gyorsan és egyszerűen!
- BESZÁMÍTÁS! Gigabyte H610M i5 12600K 16GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA Seasonic 650W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged