Új hozzászólás Aktív témák
-
Brown ügynök
senior tag
"hacsak nem jön a jó tündér break utasítás képében..."
-
Alukard
senior tag
válasz Brown ügynök #7501 üzenetére
Én jobb szeretem azt a megoldást, hogy minden kérésr az index.php-ra irányítok (mondjuk egy nagyon csúnya módon egy error 404-el), és robbantok egyet az URLben
https://blackfyre.ninja
-
Alukard
senior tag
válasz Brown ügynök #7503 üzenetére
domain.com/oldal/azon
$urlVar = explode("/",$_SERVER['REQUEST_URI']);
Persze a megfelelően formázott link elengedhetetlen, de ezek után $_GET helyett csak a megfelelő $urlVar -t kell behívni, jelen esetben:
$urlVar[1] = "oldal"
$urlVar[2] = "azon"Ezek után egy switch segítségével eldönthetem milyen oldalt szeretnék include-olni, a többi meg fantázia kérdése, de switch-el sokkal átláthatóbb mint 1 if rengeteg lenne...
Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");
[ Szerkesztve ]
https://blackfyre.ninja
-
Brown ügynök
senior tag
válasz Alukard #7504 üzenetére
Fölösleges ilyen terrorista módszereket bevetni.
Amit alkalmazok:
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/van-ilyen-oldal/' ){
//oldal meghívása
}
...
else {
header('Status: 404 Not Found');
#vagy 404 oldal meghívása
}Ezt még lehet bővíteni metódus, kapott változók vizsgálatával.
"hacsak nem jön a jó tündér break utasítás képében..."
-
Alukard
senior tag
válasz Brown ügynök #7505 üzenetére
Ez -szerintem- már csak megszokás kérdése
De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott.https://blackfyre.ninja
-
Sk8erPeter
nagyúr
válasz Brown ügynök #7498 üzenetére
Én meg nem hiszem, hogy attól bonyolultabb lenne, hogy szebben valósítod meg, sőt.
Ha PHP-ben megcsináltad a konkatenálást, akkor ugyanezt megteheted kliensoldalon is, csak annyi a különbség, hogy akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Annyi, hogy a JSON-nel visszakapott eredményhalmazt bejárod, és ciklikusan hozzácsapod az option tageket, ez miért lenne olyan bonyolult?
Egyébként nem mondtam, hogy hibás lenne az, amit csináltál, de van rá jobb módszer is."Szerintem tökéletes ahogy csináltam."
Ilyet fejlesztő nem mondhat, csak ha túl sok az egója! (nehogy megsértődj, csak viccelek, de sosincs tökéletes megoldás )===
(#7499) holinorby :
<td align="right"><?php echo $product_price ?><br />
</td>Itt nem túl szép megoldás, hogy beraksz egy <br />-t. Inkább növeld a paddinget CSS-sel, vagy hasonló, de így nem túl "rugalmas" a stílus átszabása.
===
(#7504) Alukard :
Ne mondd, hogy ez szebb megoldás, mint amit Brown ügynök mond, mert nem az.
Egyébként CMS-eknél nagyon sokszor egyszerűen adatbázisban tárolják az URL aliasokat. Valószínűleg a D@ni88 által linkelt oldalon is ugyanezt alkalmazzák.
Pl. Drupalnál van egy url_alias tábla az adatbázisban: ezek olyan címekre képeződnek le, mint pl. a node/30. Ez utóbbi cím meg már mod_rewrite segítségével képeződik le a megfelelő query stringgé, PHP-vel meg ezt dolgozzák fel, majd kiszedik adatbázisból a 30-as id-jú node tartalmát."Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");"
Ez meg mi a jó büdös francnak?
Eleve 200 OK állapotkódot kap a böngésződ abban az esetben, ha a kérés hibátlanul lefutott, ÉS a szerver nem küldött más status code-ot. Ergo ez a sorod teljesen felesleges!!===
(#7506) Alukard :
"De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott."
A 2. mondat első felére: ahol le van tiltva, ott szólni kell a rendszergazdának, vagy szolgáltatót váltani.
A második felére: nem csak Apache-on működik az URL-átírás... IIS-nél is működik a rewrite, lásd pl. ezt: [link].Jobb CMS-eknél van is támogatás hozzá, pl. Drupalnál, Joomlánál is van IIS-támogatás.
[ Szerkesztve ]
Sk8erPeter
-
válasz Sk8erPeter #7507 üzenetére
A header() hívás akkor kellhet, ha a címeket nem mod_rewrite-tal írjuk át, hanem elkapjuk a 404-es hibákat. Gondolom, ez kavarodhatod meg.
-
Sk8erPeter
nagyúr
válasz Peter Kiss #7508 üzenetére
De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Nem is igazán látom be, mi értelme van erőszakosan megváltoztatni a 404-es állapotkódot 200 OK-ra...
Egy példa: http://drupal.org/asdasdasd
Ez a tartalom nyilván nem létezik, ki is írja a válaszban, hogy "Page not found", ÉS ezzel együtt 404-es HTTP-kódot küld vissza. Így is van ez rendjén!!Sk8erPeter
-
cucka
addikt
válasz Brown ügynök #7505 üzenetére
Látod, ezért írtam korábban, hogy érdemes megnézni kész framework-öket, például így látni fogod, hogy hogyan kell normálisan megcsinálni a routing-ot.
(#7509) Sk8erPeter
De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Egyéni hibaoldal vagy hibakezelés?[ Szerkesztve ]
-
Brown ügynök
senior tag
Ezt most miért nekem írtad? Én ezt egy framework-ből néztem.
@Sk8terPeter: akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Ja, 210 B helyett csak 110 B foglal majd el. Mellesleg, nem vagyok benne biztos, hogy gyorsabb lesz ha a kliensoldalon végeztetjük a munkát.
"Szerintem tökéletes ahogy csináltam."
Pontosítok: A célnak tökéletesen megfelel a megoldás."hacsak nem jön a jó tündér break utasítás képében..."
-
válasz Sk8erPeter #7511 üzenetére
Jön Pistabá: domain.com/user_friendly_url
HTTP 404 (nincs mod_rewrite, nincs meg fizikailag ez a tartalom)
Egyéni hibaoldal ba van álltva
Ebben megnézem az URI alapján, tudok-e tartalmat szolgáltatni
Ha igen
HTTP 200 + tartalom
Egyébként
Tovább engedem 404-gyelÉn erre gondoltam.
-
cucka
addikt
-
Alukard
senior tag
válasz Sk8erPeter #7507 üzenetére
Ízlések és pofonok, lényegét tekintve most variációkat taglalunk egy témára, szerintem teljesen fölöslegesen A lényeg, hogy működik és szerencsére hiba mentesen.
Szép a drupal, de a vezetőség ragaszkodik saját fejlesztéséhez, szóval meg van kötve a kezem... a szolgáltató a mod_rewrite -ra meg azt mondta, hogy ezzel a szolgáltatás csomaggal nem elérhető, váltsunk nagyobbra és a vezetőség szolgáltató váltásról vagy csomag váltásról hallani sem akar... szóval 1 "picit" meg van kötve a kezem.... majd -talán- idővel...header("HTTP/1.1 200 OK");"
Ez meg mi a jó büdös francnak
amint később említve lett a 404es átirányítás végett
https://blackfyre.ninja
-
Speeedfire
nagyúr
A 404 jó dolog.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Brown ügynök #7512 üzenetére
Addig becsülöd le a szerver által visszaküldendő adatmennyiség méretét, amíg nem kell komolyabb adathalmazt áttolnod a hálózaton... Egyébként nem is csak a végleges méretről beszéltem, hanem arról, hogy PHP-ben a sztringkonkatenálás lassú, tehát plusz időbe is kerül...ezért nem érdemes vele elvégeztetni ott, ahol totálisan felesleges.
...és de, kliensoldalon nagyon nagy valószínűséggel gyorsabban fogja előállítani a kis listádat, ha ráküldöd egy for ciklusra, hogy pakolja össze a kapott adathalmaz alapján.Amúgy ezeket ne vedd kötekedésnek, inkább szakmai vitának, amiről érdemes beszélni.
===
(#7513) Athlon64+ : megnézted, kinek címeztem azt a hozzászólást, amire válaszoltál? Nem neked.
Neked én EZT küldtem. És még egyszer mondom, totálisan felesleges explicite elküldeni a 200 OK állapotkódot, MINDIG ez lesz az állapotkód, ha a fájl hibátlanul elejétől a végig lefutott, legenerálta a kimenetét (vagy nem), a böngésző megkapta azt, ÉS nem volt semmilyen kifejezett egyéb állapotkód-küldés.===
(#7515) Alukard :"Ízlések és pofonok, lényegét tekintve most variációkat taglalunk egy témára, szerintem teljesen fölöslegesen"
Szerintem egyáltalán nem felesleges egy, a témát érintő fórumban átrágni a megoldási lehetőségeket, a különböző gondolkodásmódokat. Egymástól is tanulhatunk.Egyébként oké, érthető, ha semmiképp nem tudsz mod_rewrite-ot használni, akkor nyilván az egyéb lehetőségekről kell beszélni, épp azt is tesszük.
"amint később említve lett a 404es átirányítás végett"
Milyen átirányítás? Nincs itt semmiféle átirányítás. Az arra vonatkozó kódok a 3xx-esek.
És akkor ötvenedjére is elmondom, hogy ha nem létezik a fájl, és ezt jelezni akarod a kliens felé, attól még nem biztos, hogy jó megoldási módszer az, ha ennek ellenére kiadod a 200 OK-t, sőt, attól még lehet egyéni hibaoldalad, hogy 404-es hibakódot dobsz vissza...
Pont erre linkeltem a Drupalos oldalt: http://drupal.org/asdasdasd. Nézd meg mondjuk Firebuggal vagy ehhez hasonlóval, 404-et ad vissza a nem létező oldal miatt, mégis egyéni hibalapja van...[ Szerkesztve ]
Sk8erPeter
-
Alukard
senior tag
válasz Sk8erPeter #7517 üzenetére
.htaccess -el van a 404-es átírányítás, azért kell a header.
https://blackfyre.ninja
-
meone
tag
Sziasztok!
Egy volt tanárom kérte a segítségemet egy mountolás gondban.
A helyzet a következő.
Adott egy vincseszter amit a Debian automatikusan a média könyvtárba monutol be.
Ezt esetleg át lehetne állítani, hogy ne a médiába hanem a home könyvtárba mountolja be automatikusan mikor betölt a rendszer?
Esetleg van rá valami példa, hogy hogyan kell be állítani?[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Brown ügynök
senior tag
Fáradj át ide: Debian linux
"hacsak nem jön a jó tündér break utasítás képében..."
-
meone
tag
válasz Brown ügynök #7520 üzenetére
Bocsi elbambultam.
Már viszem is át a hozzászólásomat.Elnézést kérek mindenkitől a helyes írásom ért :)
-
lafaty80
őstag
Sziasztok,
Most futottam bele egy számomra nagyon kellemetlen szituációba.
Eddig 32bites MS-SQL szervereken kellett dolgoznom, most viszont 1 helyen áttértek 64bit-esre. Sajnos nem tudom elérni PHP-vel (5.2.6).Olvasgattam a netet, de megoldást még nem találtam. Remélem tudtok segíteni.
Cuccaim: https://kit.co/lafaty
-
lafaty80
őstag
válasz Sk8erPeter #7526 üzenetére
Értem a célzást, de nem figyeltél...
Nekem nem my-sql gondom van hanem ms-sql. Valóban my-sqlre van pár megoldás, de azokkal én nem tudok mit kezdeni...
Megoldás született: Kell a MS SQL driver, abból hiányzott 1 file.
Cuccaim: https://kit.co/lafaty
-
D@ni88
addikt
Hogy lehet azt megoldani, hogy a tárhelyen lévő php, html fájlokhoz ne férjenek hozzá. Értsd, ne tudják olvasni, és ne is tudják letölteni?
Esetleg mondanátok pár hasznos tanácsot, amire érdemes vigyázni?
[ Szerkesztve ]
-
Speeedfire
nagyúr
-
D@ni88
addikt
válasz Speeedfire #7530 üzenetére
Szia.
Pl ilyet szeretnék elkerülni: [link]
Továbbá jártam már olyan oldalon, ahonnan le lehetett tölteni magát a php fájlokat. Ha jól tudom flashgettel -
Siriusb
veterán
válasz Speeedfire #7533 üzenetére
offline server
-
Speeedfire
nagyúr
Az sem rossz!
D@ni88:
Valami ilyesmi kell neked szerintem. Itt ha nem a saját url-ről nézik a képet/fájlt akkor hibát dob.RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/notallowed.gif [R,L]Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
rt06
veterán
ha html file-t nem tudnak letolteni, akkor nem megtekintheto az oldalad, mert a bongeszok sem tudjak letolteni azokat
ha a php file-ok forraskodja letoltheto, ott vaalmi komoly baj van a webszerver beallitasaivalamit #7531:ben linkeltel, az eleg erdekes, nem teljesen ertem a kerdest (kezdve azzal, hogy sajat szerverrol miert url open-t akar hasznalni - vagy nem ugyanazt ertjuk manualis ut alatt)
amit Speedfire javasol #7535-ben, azzal lehet esetleg kiserletezni, viszont a referrer pofonegyszeruen hamisithato, cserebe viszont valid kereseket dobhatsz el amiatt, hogy egyes tuzfalak/virusirtok kitorlik a kimeno http keresekbol a referrer-t
szerk.: jobban megnezve Speedfire hozzaszolasat latom, hogy a hianyzo referrer nem okoz gondot, azt engedi a szabaly, viszont ekkor ugyanott vagy, mert sok bot nem kuld referrer-t
[ Szerkesztve ]
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
Speeedfire
nagyúr
Pedig szerintem csak a referrel a járható út. Ugye sok képes oldal, pl ha linkelve van a kép alá nyomja az oldal forrását is, hogy le lehessen lopni.
Mondjuk érdekes téma ez is.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
rt06
veterán
válasz Speeedfire #7537 üzenetére
jobb otletem nekem sincs ra, viszont ez sem teljeserteku (ugye referrer hamisitas +1 sor a curl-os lekeresbe)
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
MODERÁTOR
válasz Speeedfire #7533 üzenetére
Tök mind1, hogy vps v tárhely ugyan úgy kell...
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
Speeedfire
nagyúr
Hogy lehet úgy generálni "kódot", a pastebin és a youtube is szokott?
Generálok egy kódot x karakter hosszút, majd megnézem, hogy van-e már az adatbázisban? Ha van akkor addig generálok amíg nem lesz visszatérési értéke. Viszont ha már több millió ilyen kód van akkor gondolom eléggé nagy lehet már a lekérdezés, ami időben...
Ilyesmikre gondolok(url).
http://pastebin.com/bevsM8aS
http://www.youtu.be/OIh3nO6-V_AFotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
rt06
veterán
válasz Speeedfire #7541 üzenetére
enkriptalj timestamp-et
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
Speeedfire
nagyúr
A képfeltöltő oldalam így működik a timestamp alapján van a link elkészítve, de az md5 miatt elég hosszú a link.
Ha meg levágok belőle akkor előfordulhat megegyező első x karakter.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
MODERÁTOR
válasz Speeedfire #7543 üzenetére
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
rt06
veterán
válasz Speeedfire #7543 üzenetére
microtime osszenyomva (kimenet 10-11 karakter):
#!/usr/bin/php
<?php
function mkid( $data ) {
$alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-";
$result = "";
while ( $data > 0 ) {
$key = $data & 63;
$data = $data >> 6;
$result = "{$alphabet[$key]}{$result}";
}
return $result;
}
$time = microtime();
$time = preg_split( "/[ ]/", $time );
$time[0] = substr( $time[0], 2 );
$id = mkid( $time[1] );
$id .= mkid( $time[0] );
?>Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
BullZeye
veterán
Üdv
Lehetséges MYSQL adatbázis nélkül csinálni olyasmit, ahol fel van sorolva 6-7 sorozat, mellette pedig a 1-24-ig számok, és ha rákattolok az 1esre, akkor annak megváltozik a színe, és kiemelt lesz? Példának okáért
How I Met Your Mother 1-2-3-4-5-6-7-8-9-10....
Esetleg ha tudjátok ennek mi a neve, akkor rákereshetnék neten, hátha van már kész script is, így viszont nem tudom mire keressek.
-
BullZeye
veterán
válasz Speeedfire #7548 üzenetére
Köszi a tippet, akkor megyek oda kérdezni
-
pumatom
aktív tag
Sziasztok!
Tudnátok ajánlani egy használható ingyenes, adatbázis nélküli vendégkönyvet?
Sokat kerestem, de ebben a kategóriában használhatót, még nem találtam...
Üdv!
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen