Új hozzászólás Aktív témák
-
TomyLeeBoy
tag
$parancs = "INSERT INTO belepes (id,nev,jelszo) ";
$parancs.= "VALUES('', '".$nev."','".$jelszo."')";VALUES-ben miért van a változók körül dupla idézőjel és pont? ( pl.: '".$nev"' )
nekem ez így szokott kinézni:
$parancs4 = "INSERT INTO film_con (user_id,film_id,num) VALUES ('$user_id','$film_id','$num')";
és eddig még mindig működött több féle szerveren és php verzióval is.
Az idézett film_con táblámban is van auto increment id, de azt bele sem rakom a parancsba, szépen létrehozza.[ Szerkesztve ]
Az idő sebessége: 1s/s
-
DeltaPower
őstag
válasz TomyLeeBoy #6251 üzenetére
amit írtál, ez is egy használható szintaxis, viszont kódszerkesztőkben a szintaxis kiemelés nem ismeri fel az idézőjelen belül használt változókat
auto increment mezőnél fölösleges megadni az üres értéket
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
PazsitZ
addikt
válasz DeltaPower #6252 üzenetére
kódszerkesztőkben a szintaxis kiemelés nem ismeri fel az idézőjelen belül használt változókat
Mondjuk azt, hogy van olyan szerkesztő amely nem.[ Szerkesztve ]
- http://pazsitz.hu -
-
Speeedfire
nagyúr
válasz Tele von Zsinór #6250 üzenetére
Hát nekem egyelőre úgy néz ki még ez is nagy falat.
<?php
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
$n = $_GET['start'];
$m = $n+100;
echo $n;
for ($n; $n<$m; $n++) {
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
$file .= $links->getAttribute("href");
$newfile = '../packages/' . $links[$n]->getAttribute("href");
if (!copy($file,$newfile)) {
echo 'Nem sikerült a(z) '.$n.' másolása.';
}
else {
echo $n.'. Ok.';
}
}
$uri = $_SERVER['PHP_SELF'].'/?='.$_GET['start']+100;
header("Location: $uri");
?>Fatal error: Call to undefined method DOMNodeList::getAttribute() in /var/www/szunyi.com/openwrt/www/admin/masol.php on line 19
Lehet tényleg jobban járnék valami ajaxos megoldással...
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Inv1sus
addikt
http://codeigniter.com/user_guide/libraries/encryption.html
Mi értelme valamit md5 kódolni, ha nem lehet visszafejteni? Mire lehet azt használni akkor?
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
-
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...
[ Szerkesztve ]
http://www.redsign.hu
-
Inv1sus
addikt
-
Speeedfire
nagyúr
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.
[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Inv1sus
addikt
Az volt a gond, hogy a begyepesedett agyammal csak arra gondoltam, hogy $megadott_jelszo = ? ($adatbazisos_md5_jelszo)
Fail...
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
Tele von Zsinór
őstag
válasz Speeedfire #6254 üzenetére
A DomNodeList nem ArrayAccess interface, szóval $links[$n] helyett $links->item($n).
Másrészt a hibát okozó sor a $links->getAttribute() hívás, ami nincs is az én kódomban, nézd meg újra.A $n, $m változók feleslegesek (ezeket te az első és utolsó indexeknek használod) - a domx query összeállításakor megmondom neki, hogy csak a $_GET["start"] pozíció utáni linkek érdekelnek.
Most nincs időm kódot mutatni, de csináld azt, hogy foreach-csel mész, benne növelsz egy számlálót, ha az eléri a százat -> break. Ezen kívül a ciklusmagban mented a filet.
A mag után ha a számláló nem nulla (azaz volt feldolgozott link), akkor headerrel átirányítod úgy, hogy az új start a kapott start + a számláló értéke.A végén az url összeállítós részt nézd meg mégegyszer, a paraméter neve lemaradt.
A jelszavas témához: az md5 nem kódolás, hanem hashelés - pont az a lényege, hogy nem visszafejthető, az egyetlen törési módszer a brute force. Ebből a szempontból egyébként az md5 elavult, úgynevezett rainbow table módszerrel nagyon rövid idő alatt törhető a nagyjuk.
Ennek nehezítésére az egyik lehetőség a saltolás, amikor egy userenként más-más stringet fűzöl a jelszóhoz, és azt hasheled - így felhasználónként külön rainbow table kell, drasztikusan lassítva ezzel a törési kísérleteket.
Másik lehetőség egy erősebb algoritmus használata, mint az sha1 (160 bites 128 helyett).
Legjobb a kettő együtt: saltolt sha1.[ Szerkesztve ]
-
jeges
senior tag
válasz Tele von Zsinór #6263 üzenetére
(esetleg plusz korlátozás a jelszó minimum hosszára, bonyolultságára, erősségére, stb. emlékeim szerint - de lehet, tévedek vagy elavult az info - 5 vagy 6 karakterig vannak rainbow táblák közforgalomban, úgyhogy egy viszonylag hosszú - >10 karakter - szöveges változóval viszonylag hatékonyan védhető az ilyen fenyegetés)
kérdés: van esetleg tapasztalat, hogy egy saltolt sha1 mennyivel "keményebb dió" az ugyanúgy saltolt md5-nél? nekem ez a 128 vs 160 bites izé nem sokat mond.
-
Speeedfire
nagyúr
válasz Tele von Zsinór #6263 üzenetére
Komolyan mondom tele van már a tudatom ezzel a scripttel.
Most meg a chrome panaszkodik a 100-as lépésekkel, hogy mindig meghívja magát....
A 200-as határ már jól sikerült, de ez a több fájl másolás most elvette mindentől a kedvemet...Ez lett a végleges script, biztos lehetne még mit csiszolni rajta, de működik így is...
<?php
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
$i = 0;
$j = 0;
foreach ($links as $link) {
if ($i <= 199) {
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
$file .= $link->getAttribute("href");
$newfile = '../packages/' . $link->getAttribute("href");
if (!copy($file,$newfile)) {
echo 'Nem sikerült a(z) '.$i.' másolása.<br />';
}
else {
echo $i.'. Ok.<br />';
$j++;
}
}
else {
break;
}
$i++;
}
if (isset($_GET['start']) == 0) {
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin';
$newfile = '../'.end(explode('/',$file));
if (!copy($file,$newfile)) {
echo 'Nem sikerült a bin másolása.';
}
else {
echo 'Sikeres volt a bin letöltése.';
}
}
$ciklusstart = $_GET['start'] + 200;
$uri = $_SERVER['PHP_SELF'].'?start='.$ciklusstart;
if ($j != 0) {
header("Location: $uri");
}
?>Köszönöm az eddigi fáradozásodat!
Szerk.: Egy hátránya van egye ennek a meghívásos dolognak, hogy nem látom a kimeneteket.
[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Tele von Zsinór
őstag
Na igen, hosszminimum felállítása is okos dolog. Viszont itt főleg arról van szó, mikor valahogy kikerül az adatbázisod - a lényeg, hogy ne lehessen egyszerűen visszafejteni a jelszót, és ugyanazt a felhasználónév/jelszó párost végigpróbálgatni más oldalakon.
@Speeedfire: jogosan panaszkodik, tényleg magára irányít. A mai világban már kikerülhetetlen az ajax, halogathatod, de megúszni nem fogod. Valami JS framework rengeteget segít, manapság a legelterjedtebb a jQuery, és nem csak az ajaxszal kapcsolatos egyszerűsítése miatt. Jó a dokumentációja, megéri belenézni.
-
rt06
veterán
wall of text kovetkezik, elore is elnezest
ez a john the ripper jelszotoro program alapertelmezett tesztjenek a kimenete, ebben tudod a bruteforce tores sebessegeit osszehasonlitanisozott sha1-et nem latok, sozott mdt-bol meg vagy egy csomo - sozas nelkuli van mindkettobol, raw-sha1 es raw-md5 neven keresd oket
Benchmarking: Traditional DES [24/32 4K]... DONE
Many salts: 24357 c/s real, 49192 c/s virtual
Only one salt: 28641 c/s real, 45200 c/s virtual
Benchmarking: BSDI DES (x725) [24/32 4K]... DONE
Many salts: 1333 c/s real, 1462 c/s virtual
Only one salt: 1473 c/s real, 1473 c/s virtual
Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw: 1093 c/s real, 1103 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/32 X2]... DONE
Raw: 86.4 c/s real, 59.6 c/s virtual
Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short: 38901 c/s real, 35428 c/s virtual
Long: 99358 c/s real, 102400 c/s virtual
Benchmarking: LM DES [32/32 BS]... DONE
Raw: 516847 c/s real, 538160 c/s virtual
Benchmarking: NT MD4 [32/32]... DONE
Raw: 1116K c/s real, 1174K c/s virtual
Benchmarking: Mac OS X 10.4+ salted SHA-1 [32/32]... DONE
Many salts: 371588 c/s real, 371588 c/s virtual
Only one salt: 310371 c/s real, 333484 c/s virtual
Benchmarking: M$ Cache Hash [Generic 1x]... DONE
Many salts: 2146K c/s real, 2189K c/s virtual
Only one salt: 755073 c/s real, 770327 c/s virtual
Benchmarking: Apache MD5 [32/32]... DONE
Raw: 1034 c/s real, 1098 c/s virtual
Benchmarking: HMAC MD5 [hmac-md5]... DONE
Raw: 185234 c/s real, 187087 c/s virtual
Benchmarking: Post.Office MD5 [STD]... DONE
Many salts: 395042 c/s real, 398993 c/s virtual
Only one salt: 324984 c/s real, 364704 c/s virtual
Benchmarking: Raw MD5 [raw-md5 64x1]... DONE
Raw: 717560 c/s real, 754933 c/s virtual
Benchmarking: md5_gen(0): md5($p) (raw-md5) [md5-gen 64x1]... DONE
Raw: 551984 c/s real, 574746 c/s virtual
Benchmarking: md5_gen(1): md5($p.$s) (joomla) [md5-gen 64x1]... DONE
Many salts: 537283 c/s real, 596325 c/s virtual
Only one salt: 499326 c/s real, 504320 c/s virtual
Benchmarking: md5_gen(2): md5(md5($p)) (e107) [md5-gen 64x1]... DONE
Raw: 280712 c/s real, 292288 c/s virtual
Benchmarking: md5_gen(3): md5(md5(md5($p))) [md5-gen 64x1]... DONE
Raw: 174384 c/s real, 191443 c/s virtual
Benchmarking: md5_gen(4): md5($s.$p) (OSC) [md5-gen 64x1]... DONE
Many salts: 614400 c/s real, 639736 c/s virtual
Only one salt: 510922 c/s real, 531991 c/s virtual
Benchmarking: md5_gen(5): md5($s.$p.$s) [md5-gen 64x1]... DONE
Many salts: 549893 c/s real, 610320 c/s virtual
Only one salt: 490917 c/s real, 521600 c/s virtual
Benchmarking: md5_gen(6): md5(md5($p).$s) [md5-gen 64x1]... DONE
Many salts: 646906 c/s real, 659975 c/s virtual
Only one salt: 247572 c/s real, 274778 c/s virtual
Benchmarking: md5_gen(7): md5(md5($p).$s) (vBulletin) [md5-gen 64x1]... DONE
Many salts: 625932 c/s real, 645093 c/s virtual
Only one salt: 275009 c/s real, 280565 c/s virtual
Benchmarking: md5_gen(8): md5(md5($s).$p) [md5-gen 64x1]... DONE
Many salts: 289330 c/s real, 307604 c/s virtual
Only one salt: 263160 c/s real, 276866 c/s virtual
Benchmarking: md5_gen(9): md5($s.md5($p)) [md5-gen 64x1]... DONE
Many salts: 520617 c/s real, 604395 c/s virtual
Only one salt: 234835 c/s real, 266498 c/s virtual
Benchmarking: md5_gen(10): md5($s.md5($s.$p)) [md5-gen 64x1]... DONE
Many salts: 264617 c/s real, 296960 c/s virtual
Only one salt: 243770 c/s real, 273564 c/s virtual
Benchmarking: md5_gen(11): md5($s.md5($p.$s)) [md5-gen 64x1]... DONE
Many salts: 267722 c/s real, 293913 c/s virtual
Only one salt: 270067 c/s real, 275523 c/s virtual
Benchmarking: md5_gen(12): md5(md5($s).md5($p)) (IPB) [md5-gen 64x1]... DONE
Many salts: 374621 c/s real, 382189 c/s virtual
Only one salt: 209869 c/s real, 211968 c/s virtual
Benchmarking: md5_gen(13): md5(md5($p).md5($s)) [md5-gen 64x1]... DONE
Many salts: 376649 c/s real, 380416 c/s virtual
Only one salt: 210059 c/s real, 210059 c/s virtual
Benchmarking: md5_gen(14): md5($s.md5($p).$s) [md5-gen 64x1]... DONE
Many salts: 575936 c/s real, 581696 c/s virtual
Only one salt: 259992 c/s real, 262592 c/s virtual
Benchmarking: md5_gen(17): phpass ($P$ or $H$) [md5-gen 64x1]... DONE
Many salts: 331 c/s real, 342 c/s virtual
Only one salt: 310 c/s real, 344 c/s virtual
Benchmarking: PHPass MD5 [phpass-md5]... Using phpass mode, by linking to md5_gen(17) functions DONE
Many salts: 339 c/s real, 339 c/s virtual
Only one salt: 339 c/s real, 342 c/s virtual
Benchmarking: IPB2 MD5 [Invision Power Board 2.x salted MD5]... DONE
Many salts: 370965 c/s real, 374638 c/s virtual
Only one salt: 225773 c/s real, 228031 c/s virtual
Benchmarking: Raw SHA-1 [raw-sha1]... DONE
Raw: 347037 c/s real, 347037 c/s virtual
Benchmarking: Kerberos v4 TGT [krb4 DES]... DONE
Raw: 280102 c/s real, 294691 c/s virtual
Benchmarking: Kerberos v5 TGT [krb5 3DES (des3-cbc-sha1)]... DONE
Raw: 5081 c/s real, 5402 c/s virtual
Benchmarking: Netscape LDAP SHA [SHA-1]... DONE
Raw: 347138 c/s real, 350610 c/s virtual
Benchmarking: Netscape LDAP SSHA [salted SHA-1]... DONE
Many salts: 351978 c/s real, 351978 c/s virtual
Only one salt: 321077 c/s real, 324288 c/s virtual
Benchmarking: OpenLDAP SSHA [salted SHA-1]... DONE
Many salts: 371532 c/s real, 375248 c/s virtual
Only one salt: 322596 c/s real, 342758 c/s virtual
Benchmarking: Eggdrop [blowfish]... DONE
Raw: 1621 c/s real, 2127 c/s virtual
Benchmarking: Oracle [oracle]... DONE
Raw: 111283 c/s real, 111283 c/s virtual
Benchmarking: Oracle 11g [oracle11]... DONE
Many salts: 363222 c/s real, 366855 c/s virtual
Only one salt: 323058 c/s real, 326289 c/s virtual
Benchmarking: MYSQL [mysql]... DONE
Raw: 209205 c/s real, 215610 c/s virtual
Benchmarking: MySQL 4.1 double-SHA-1 [mysql-sha1]... DONE
Raw: 164600 c/s real, 186794 c/s virtual
Benchmarking: Lotus5 [Lotus v5 Proprietary]... DONE
Raw: 36512 c/s real, 36878 c/s virtual
Benchmarking: More Secure Internet Password [RSA MD defined by BSAFE 1.x - Lotus v6]... DONE
Many salts: 19039 c/s real, 19230 c/s virtual
Only one salt: 11253 c/s real, 11253 c/s virtual
Benchmarking: LM C/R DES [netlm]... DONE
Many salts: 62087 c/s real, 62708 c/s virtual
Only one salt: 60142 c/s real, 60744 c/s virtual
Benchmarking: NTLMv1 C/R MD4 DES [netntlm]... DONE
Many salts: 86509 c/s real, 87375 c/s virtual
Only one salt: 82005 c/s real, 82005 c/s virtual
Benchmarking: LMv2 C/R MD4 HMAC-MD5 [netlmv2]... DONE
Many salts: 64574 c/s real, 65220 c/s virtual
Only one salt: 63209 c/s real, 63842 c/s virtual
Benchmarking: NTLMv2 C/R MD4 HMAC-MD5 [netntlmv2]... DONE
Many salts: 58568 c/s real, 59154 c/s virtual
Only one salt: 59524 c/s real, 59524 c/s virtual
Benchmarking: HalfLM C/R DES [nethalflm]... DONE
Many salts: 145741 c/s real, 147199 c/s virtual
Only one salt: 138600 c/s real, 139987 c/s virtual
Benchmarking: MS-SQL [ms-sql]... DONE
Many salts: 386347 c/s real, 390211 c/s virtual
Only one salt: 354087 c/s real, 357628 c/s virtual
Benchmarking: MS-SQL05 [ms-sql05]... DONE
Many salts: 384428 c/s real, 384428 c/s virtual
Only one salt: 359701 c/s real, 363299 c/s virtual
Benchmarking: EPiServer SID Hashes [SHA-1]... DONE
Many salts: 365137 c/s real, 368789 c/s virtual
Only one salt: 341785 c/s real, 345203 c/s virtual
Benchmarking: PHPS MD5 [MD5(MD5($pass).$salt) MD5]... Using phps mode, by linking to md5_gen(6) functions DONE
Many salts: 666550 c/s real, 666550 c/s virtual
Only one salt: 281600 c/s real, 284416 c/s virtual
Benchmarking: MYSQL_fast [mysql-fast]... DONE
Raw: 2013K c/s real, 2034K c/s virtual
Benchmarking: PIX MD5 [pix-md5]... DONE
Raw: 560534 c/s real, 566140 c/s virtual
Benchmarking: SAP CODVN G (PASSCODE) [sapg]... DONE
Many salts: 120317 c/s real, 120317 c/s virtual
Only one salt: 113519 c/s real, 114655 c/s virtual
Benchmarking: SAP BCODE [sapb]... DONE
Many salts: 181932 c/s real, 183752 c/s virtual
Only one salt: 152421 c/s real, 153946 c/s virtual
Benchmarking: Netscreen MD5 [NS MD5]... DONE
Raw: 460711 c/s real, 460711 c/s virtual
Benchmarking: HTTP Digest access authentication [HDAA-MD5]... DONE
Many salts: 191347 c/s real, 193261 c/s virtual
Only one salt: 182336 c/s real, 184160 c/s virtual
Benchmarking: generic crypt(3) [?/32]... DONE
Many salts: 4372 c/s real, 4416 c/s virtual
Only one salt: 4800 c/s real, 4800 c/s virtualPolitikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
Speeedfire
nagyúr
válasz Tele von Zsinór #6266 üzenetére
Ismerkedni ismerkedek vele, de egy ilyen egymásba ágyazáshoz elég sokat kellene tudnom. Meg még mindig a php a fontosabb tanulnivaló.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
TomyLeeBoy
tag
válasz Speeedfire #6268 üzenetére
Én is halogattam az ajax-ot mert nem akartam vele kínlódni mikor php-ban már elég jól kiismertem magam. Aztán egyszer rászántam magam, és fél nap olvasgatás, próbálkozás után már elég jó dolgokat tudtam megvalósítani ajax-al. Szerintem akárhogy is állsz a php-val, hajrá ajax!
Az idő sebessége: 1s/s
-
Speeedfire
nagyúr
válasz TomyLeeBoy #6269 üzenetére
Egyelőre oop érdekel utána meg a symfony 2. Valamennyi jquery ismerem van, de itt is az a baj, hogy az angolom ramaty. Magyar nyelven meg nem sok mindent találok...
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Siriusb
veterán
Egy kis segítség kellene. A webtárhely szolgáltatónál (a jelenlegi csomagban) nincs cron futtatás. Azonban phpList miatt szükségem lenne rá. Van egy ingyenes tárhelyem a 000webhoston, ahol van cron. Ott php -f paranccsal futtatnék egy cron.php-t a következő tartalommal:
<?php
exec('http://www.akarmi.hu/lists/admin/index.php?page=processqueue&login=usernev&password=jelszo');
?>Miért nem működik így? Van valami szerintetek működő megoldás esetleg?
Maga a parancs böngészőből indítva lefut. -
Speeedfire
nagyúr
válasz Siriusb #6272 üzenetére
Azért nem tudod használni, mert nincs joga futtatni a 000webhostnak.
Csináld esetleg úgy, ahogy drupal alatt van a poormanscron.
Ha valaki belép az oldalra akkor lefut a szkrint.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
-
rt06
veterán
nem volt faradtsag, csak kimasoltam a john --test kimenetet
ez par masodpercig futtatja az alatala ismert algoritmusok mindegyiket, ami megmutatja, milyen sebesseggel mukodik a bruteforce jelszotoresa virtual c/s ertekek osszehasonlitasaval tudod megnezni, melyik jelszo milyen sebesseggel torheto (minel magasabb az ertek, annal gyorsabban tudja torni a jelszot)
persze ez nem szamolja a hash-elesi algoritmusok hibait (ha jol tudom, md5 ennel gyorsabban is torheto), illetve mind md5, mind pedig sha1 eseteben leteznek mar olyan rainbow tablak, melyek tartalmazzak az osszes 8 karakteres jelszo hash-et
erdemes lehet egyebkent megnezni a PHPASS framework-ot, ami lenyegesen lassabban "torheto" mindket emlitett algoritumsnal
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
LW
őstag
Üdv újra.
Van az alább látható 3 osztályom:
abstract class REQUEST{
public static function helper_get_var(&$sga, $key, $default, $type = 'string'){
if(isset($sga[$key])){
if($type != 'string'){
$value = $sga[$key];
settype($value, $type);
return $value;
} else {
return STRINGS::secure($sga[$key]);
}
} else {
return $default;
}
}
}abstract class GET extends REQUEST{
public static function get_var($key, $default, $type = 'string'){
return REQUEST::helper_get_var($_GET, $key, $default,$type);
}
}abstract class POST extends REQUEST{
public static function get_var($key, $default, $type = 'string'){
return REQUEST::helper_get_var($_POST, $key, $type);
}
}Csináltam egy segítő functiont, amit a 2. és 3. osztály örököl, elkerülve az ismétlést.
A kérdés az, hogy van rá mód, hogy csak GET és POST osztály lássa a REQUEST funkcióját?Szerk: úgy néz ki protected módosítóval eléri, bár phpDesigner nem rakta be az elérhető funkciók listájába.
[ Szerkesztve ]
-
Inv1sus
addikt
Szerintetek az mennyire egészséges, ha írok egy olyan feltételt, ami azt vizsgálja, hogy robot böngészi-e az adott pillanatban a weblapot és e szerint mást állítok be bizonyos részeken?
Pl mondjuk a robot számára nem lesz alapból Display:none egy eltűnő menü, csak egy mezei felhasználó számára.
Ezt a google bünteti vagy figyeli valahogy, esetleg a keresőoptimalizáltságra van valamilyen hatással?
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
rt06
veterán
igen, a protected pont erre valo
privat modositoval ellatott tagokat csak az adott osztaly latja
protected modositoval ellatott tagokat az adott osztaly es annak gyermekei
public modositoval ellatott tagokat minden latjaPolitikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
Siriusb
veterán
válasz Speeedfire #6278 üzenetére
Köszi. Ki is próbálom.
-
Siriusb
veterán
válasz Speeedfire #6278 üzenetére
000webhoston ez az üzenet, ha csak azt az egy parancsot tartalmazó fájlt próbálom futtatni böngészőből:
Warning: exec() has been disabled for security reasons -
zsoltke
tag
üdv, készítettem egy egyszerű php-s forumot mysql táblákkal, és amikor a hozzászólást sortördeléssel beírod és ok-t nyomsz akkor az adatbázisba helyesen kerül be a megformázott szöveg, de amikor egy select-tel kiolvasom a táblából és php-val kiíratom akkor formázatlanul jelenik meg, tudnátok ebben segíteni, hogy úgy nézzen ki a szöveg mint amikor beírtam a szövegmezőbe? köszi
ASUS ZenBook Flip UX362FA-EL256C, Apple iPhone 11 Pro 64Gb
-
TomyLeeBoy
tag
válasz zsoltke #6287 üzenetére
A sortöréseket \n -el tárolja le, Te pedig megjeleníted html-ben, ahol <br> a sortörés.
str_replace -el cseréld le a string-ben a \n -eket <br> -re.
Az idő sebessége: 1s/s
-
j0k3r!
senior tag
válasz TomyLeeBoy #6290 üzenetére
akkor mar <br/>, ha valid kodot szeretnel.
some men just wanna watch the world burn...
-
Tele von Zsinór
őstag
válasz TomyLeeBoy #6290 üzenetére
Van egy nl2br nevű függvény, azzal inkább.
@j0k3r!: a <br> pontosan ugyanannyira valid, mint a <br/>, csak az egyik html, a másik xhtml.
[ Szerkesztve ]
-
j0k3r!
senior tag
válasz TomyLeeBoy #6292 üzenetére
azert irtam off-nak, mivel csak megjegyzesnek szantam, nem a te otleted felulbiralasara.
(#6293) Tele von Zsinór: igaz, de valoszinubbnek tartom, hogy xhtml dtd-t hasznal, mint html-t.
[ Szerkesztve ]
some men just wanna watch the world burn...
-
TomyLeeBoy
tag
válasz Tele von Zsinór #6293 üzenetére
Elolvastam a nl2br manualt, az tényleg pontosan erre van kitalálva. Én ezt a megoldást magamtól eszeltem ki még évekkel ezelőtt, és mivel jó volt ezért használom ezt. De mostmár lehet váltok. Mindig tanul az ember.
Az idő sebessége: 1s/s
-
Inv1sus
addikt
Akkor már legyünk teljesen pontosak: <br />
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
zsoltke
tag
köszi srácok, működik is
[ Szerkesztve ]
ASUS ZenBook Flip UX362FA-EL256C, Apple iPhone 11 Pro 64Gb
-
zka67
őstag
válasz zsoltke #6297 üzenetére
Ha azt szeretnéd, hogy ugyanúgy nézzen ki a szöveg mint ahogy beírtad, akkor csak annyit kell csinálnod, hogy amikor kiíratod a szöveget elé beszúrsz egy <pre> -t mögé pedig egy </pre> -t.
A & < > -eket pedig lecseréled & < és > -re, hogy ne tudják elcseszni a formázásodat.
[ Szerkesztve ]
-
zka67
őstag
válasz Tele von Zsinór #6299 üzenetére
A textarea-nak is.
Új hozzászólás Aktív témák
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- Lakáshitel, lakásvásárlás
- Samsung Galaxy S24 - nos, Exynos
- Vodafone-ra áttért Digi Mobilosok
- Politika
- Xbox Series X|S
- NVIDIA GeForce RTX 3060 Ti / 3070 / 3070 Ti (GA104)
- Parfüm topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Automata kávégépek
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest