matrik
28.07.2010, 13:00:41
Witam
Czy JavaScript przy pobieraniu pliku poprzez funkcje load() zwraca IP użytkownika strony czy IP serwera.
Szukam sposobu udostępnienia treści pliku tylko dla JS.
Np. przy pobieraniu przez JS pliku "domena.pl/plik.php" była dostępna jego treść,
lecz dla ciekawskiego źródło pliku zostało by ukryte.
Czy jest jakaś możliwość wykonania takiego zabezpieczenia?
W PHP nie jest trudno takie coś zrobić, warunek if($_SERVER['SERVER_ADDR'] !== $_SERVER['REMOTE_ADDR']){ exit; }
wookieb
28.07.2010, 13:06:25
Ale nic ono Ci nie da. Obejście? Masz gotowe w firebugu.
Po prostu nie ma sensu robienia takich zabezpieczeń bo nic nie dają.
matrik
28.07.2010, 13:44:05
Nom, też fakt :/
Ale pomijając firebuga, chodzi mi tu o roboty skanujące serwis.
Zależy mi na tym żeby nikt nie miał dostępu do tego pliku niż JS, i tak, żeby nie było trzeba podmieniać jakichś zmiennych w JS.
Crozin
28.07.2010, 13:46:36
Skoro JS ma mieć dostęp to i użytkownik będzie miał pełen dostęp - nie da się tego ominąć.
wookieb
28.07.2010, 13:47:04
No to możesz rozpoznawać nagłówki (porównaj), bądź dodawać jakieś własne do żądania ajaxowego i wsio.
matrik
28.07.2010, 15:37:28
Wookieb
Mam na to sposób już, zabezpieczyłem i działa ładnie. Wystarczy w samym PHP to zrobić
Crozin
28.07.2010, 15:40:15
Pokaż bo jestem bardzo ciekawy jak to niby zrobiłeś (tzn. jak wydaje Ci się, że to zrobiłeś).
Quantum
28.07.2010, 16:38:03
@
matrik nie ma możliwości skutecznego zabezpieczenia danych dla AJAX-a. Wszystkie nagłówki etc. można wysłać choćby cURL-em

Nawet jeżeli dodasz inne pseudo-zabezpieczenia, można je łatwo rozgryźć metodą eliminacji.
matrik
28.07.2010, 19:29:56
Owszem, da się to rozgryźć, ale takie mi wystarczy, przynajmniej do pewnego momentu
Dałem prosty kod:
<?
if($_SERVER[HTTP_X_REQUESTED_WITH] == 'XMLHttpRequest'){
}else{
}
?>
Demo:
http://server.webout.pl/testJS/test.phpZ czasem uda się zrobić lepsze
Crozin
28.07.2010, 20:08:27
Pomijając fakt, że Twój kod PHP zawiera błędy - naprawdę daruj sobie coś takiego, bo jedynie sprawisz radość pr0 hakierom z "obejścia zabezpieczeń" w 0.46 minuty.
Quantum
28.07.2010, 20:13:04
.. jak już chcesz polegać na x_requested_with, to najpierw sprawdź czy istnieje taki klucz w tablicy $_SERVER, zastosuj (
strtolower) na jego wartości i wtedy możesz porównywać
matrik
29.07.2010, 11:47:07
Crozin
A może coś więcej na temat "Twój kod PHP zawiera błędy"...
Widziałeś demo?
Crozin
29.07.2010, 12:08:23
matrik
29.07.2010, 12:16:34
Parse error: syntax error, unexpected T_IF in ....../print.php on line 3
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
Hmm, zaraz sprawdze jak to można poprawić jesli się da

Edit:
Sorka, niewstawiłem ";" po error_reporting(-1)

A błedu mi nie wywala
<?
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){ }else{
}
?>
Crozin
29.07.2010, 13:09:47
Ja pisałem w odniesieniu do:
http://forum.php.pl/index.php?s=&showt...st&p=771615To co jest post wyżej jest już w pełni poprawne - pod względem samego kodu - jako zabezpieczenie nadal bardziej śmieszy niż działa.
matrik
29.07.2010, 14:59:51
Śmieszne jest to, że ty w ogóle takie bzdety piszesz na temat własnego ...
Tak trudno jest przeczytać ZE ZROZUMIENIEM?? Na prawdę twoje wypowiedzi są równe zeru pod względem sensu... Wyraźnie jest to przedstawione jako przykład...
Nabijanie sobie postów, to dopiero frajda. Co nie Crozin?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.