[ Príspevkov: 9 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Ulozenie txt do pola

Registrovaný: 01.05.05
Príspevky: 12422
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 16.12.2012 11:27 | Ulozenie txt do pola

Robim si cez php blokovanie ip adries, ktory mozem pouzivat na xy webov z jednej databazy a neviem ako spravit to aby som deny.txt kde mam ulozene ip v riadkoch do pola:
Kód:
192.168.0.2
192.168.0.8
192.168.0.16
atd..

Kód:
$fp = @fopen("deny.txt", 'r');
if ($fp) {
   $deny = explode("\n", fread($fp, filesize("deny.txt")));
}

if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) {
   header('HTTP/1.0 403 Forbidden');
   exit();
}


ten zaciatok co sice da do pola, ale ak za bloknutou ip mam nejaku ip ktora nie je bloknuta tak mi to web tak ci tak otvori, ak tam mam len jednu ip ktora je zablokovana, tak ma na web nepusti, ak tam mam namiesto citania deny.txt priamo pole
Kód:
$deny = array("192.168.0.2", "192.168.0.8", "192.168.0.16");
a tam mam danu ip, tak web neotvori, kde robim chybu?


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 13.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 16.12.2012 11:55 | Ulozenie txt do pola

A čo tak to nekomplikovať a použiť
$pole = file( "deny.txt" );

A možno tam máš ešte nejaké biele znaky naviac, tak si to skontroluj trebárs cez ascii hodnoty, čo všetko v tom riadku je (u tvojho spôsobu môže byť problém aj windovskácke zalamovanie riadkov)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Ulozenie txt do pola

Registrovaný: 01.05.05
Príspevky: 12422
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32
Napísal autor témyOffline : 16.12.2012 12:05 | Ulozenie txt do pola

To som uz tiez skusal, ale ani to nefunguje, na upravu deny.txt pouzivam pspad a nastaveny unix format a nak to nejde...


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Ulozenie txt do pola

Registrovaný: 01.05.05
Príspevky: 12422
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32
Napísal autor témyOffline : 16.12.2012 12:07 | Ulozenie txt do pola

Mna napadlo to mat ulozene v db, tak by som to zvladol spravit, ale nechcem zatazovat db tym ze chcem blokovat nejake ip adresy, mozem to riesit cez htaccess, ale ten sa mi nechce stale upravovat ked tam chcem pridat nejaku ip adresu a htaccess nepovoluje includovanie suboru bohuzial :(


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 13.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 16.12.2012 12:31 | Ulozenie txt do pola

Mne to tvoje funguje - ale samozrejme iba s unixovým zalamovaním riadkov.
Pozri si var_dump, či máš naozaj length 11, 11 a 12

Citácia:
ale ak za bloknutou ip mam nejaku ip ktora nie je bloknuta tak mi to web tak ci tak otvori

Ak túto vetu chápem správne (čo je trochu ťažké posúdiť :D ), tak ti to ide len ak je tá vyvolená ip (z ktorej pristupuješ) na poslednom mieste. To znamená, že je problém len v tom zalamovaní riadkov (pretože za poslednou žiadne zalomenie už nie je)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Ulozenie txt do pola

Registrovaný: 01.05.05
Príspevky: 12422
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32
Napísal autor témyOffline : 16.12.2012 12:39 | Ulozenie txt do pola

Asi mas pravdu, lebo teraz som dal tu jednu z bloknutych na koniec, robim to na locale, takze tam davam ip localhostu, tak ak je prva a za nou su nejakej dalsie moje vymyslene, tak sa mi web zobrazi ale ked som presunul na koniec tak je web bloknuty a hadze 403, idem kuknut ten var_dump teda. Dik za radu, myslel som ze to bude nejaka kravina...


//tak pozeram a vazne tam je na konci kazdeho riadku mimo posledneho enter... :-)

//tak som to vyriesil:
Kód:
$file = file("deny.txt");
$deny = preg_replace("/\r\n|\r|\n/", '', $file );


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 13.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 16.12.2012 12:56 | Ulozenie txt do pola

Mne to s tvojím kódom ide. V notepad++ ale musím explicitne nastaviť unix formát pre EOL.
Rovnaký efekt ako tvoj kód má aj file_get_contents(...), tým sa to trochu skráti.
Ak to furt robí problém, regexp by som tam aj tak neťahal a robil to trebárs cez str_replace s ascii hodnotami CR a LF, alebo proste cez substr vybrať stringy o jedno kratšie.
A ak už aj, tak aspoň krajší regex [\r\n]+ :)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Ulozenie txt do pola

Registrovaný: 01.05.05
Príspevky: 12422
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32
Napísal autor témyOffline : 16.12.2012 13:03 | Ulozenie txt do pola

No budem sa s tym musiet viac vyhrat, lebo chcem aj rozsahy aby to bralo do uvahy a to ignoruje, tak ale aspon viem ze v com je problem presnejsie.


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
Offline

Správca fóra
Správca fóra
Ulozenie txt do pola

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 17.12.2012 10:29 | Ulozenie txt do pola

Staci pouzit trim, netreba to komplikovat s regexp


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
 [ Príspevkov: 9 ] 


Ulozenie txt do pola



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

ulozenie suboru txt VB

v Delphi, Visual Basic

1

617

01.01.2010 12:08

B.A.X.O

V tomto fóre nie sú ďalšie neprečítané témy.

Uloženie pola do databázy

v PHP, ASP

1

87

21.01.2013 10:58

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Ulozenie usekov textu do pola

v PHP, ASP

4

188

06.05.2010 14:49

Antuanet

V tomto fóre nie sú ďalšie neprečítané témy.

Uloženie informácie

v Technológia .NET

2

538

11.06.2011 10:31

Johnnny

V tomto fóre nie sú ďalšie neprečítané témy.

Ulozenie obrazku

v Operačné systémy Microsoft

2

240

02.03.2008 12:20

Devil_SK

V tomto fóre nie sú ďalšie neprečítané témy.

Uloženie procesov

v Ostatné programy

1

298

12.01.2010 0:27

bledo

V tomto fóre nie sú ďalšie neprečítané témy.

ulozenie cookie

v PHP, ASP

13

439

01.07.2009 10:02

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

ulozenie Ram

v Pamäte

18

1075

19.02.2010 18:48

prandof

V tomto fóre nie sú ďalšie neprečítané témy.

uloženie do databázy

v JavaScript, VBScript, Ajax

8

299

11.07.2010 12:54

DARSON

V tomto fóre nie sú ďalšie neprečítané témy.

ulozenie na server

v HTML, XHTML, XML, CSS

27

1363

24.12.2006 19:43

javo

V tomto fóre nie sú ďalšie neprečítané témy.

Ulozenie wifi routra

v Siete

3

109

03.08.2014 21:08

kirik

V tomto fóre nie sú ďalšie neprečítané témy.

Speedfan uloženie nastavenia

v Ovládače

0

85

10.08.2013 16:02

martinsos

V tomto fóre nie sú ďalšie neprečítané témy.

ulozenie v pc

v ATI/AMD grafické karty

8

357

15.06.2011 18:24

P€PoX

V tomto fóre nie sú ďalšie neprečítané témy.

Uloženie web stránky

v Sieťové a internetové programy

3

438

24.02.2012 9:18

kingjan

V tomto fóre nie sú ďalšie neprečítané témy.

robots.txt

v Ostatné

3

416

05.10.2008 16:11

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

robots.txt

v Ostatné

5

516

07.08.2010 21:54

shaggy



© 2005 - 2017 PCforum, edited by JanoF