Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zrobić przekierowanie linku dla bezpieczeństwa użytkowników?
Saki
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

Ostrzeżenie: (0%)
-----


  1. <?php
  2. /*
  3. Witam chce zrobić takie przekierowanie linku, już pisze o co mi dokładnie chodzi,
  4. a więc jak ktoś poda link na moim forum i jak ktoś będzie później chciał na niego kliknąć a link odnosi się do innej strony, to chce aby przed przejściem na tą stronę była wyświetlana strona informatyczna, np. Uważaj bądź ostrożny! Próbujesz przejść na strone http://...... , kliknij na przejdź aby przejśc ablbo cofnij się.
  5.  
  6. Wie może jak coś takiego zrobić?
  7. Mam coś takiego już ale nie wiem jak dale robić, bardzo proszę o pomoc:
  8. */
  9.  
  10. echo '
  11. <form action="'.$_SERVER['REQUEST_URI'].'" method="POST">
  12. <table>
  13. <tr><td>Twoja Wiadomość:</td> <td><textarea name="message"></textarea></td></tr>
  14. <tr><td> </td> <td><input type="submit" class="submit" value="Wyślij"/></td></tr>
  15. </table>
  16.  
  17. </form>
  18.  
  19. ';
  20.  
  21.  
  22.  
  23. $serwer = $_SERVER['HTTP_REFERER'];
  24. #domena z którego bedzie szukane czy ma pokazywać informacje czy nie, jak są linki z mojej domeny to nie pokazuje informacji o przejściu na inną strone tylko od razu przenosi.
  25. $domena = "tmp.itunix.eu";
  26. #strpos() szuka w linku czy jest moja domena w linku
  27. if(strpos($serwer, $domena)!== FALSE) {
  28.  
  29. header("Location: ".$_POST['message']."");
  30.  
  31. }
  32.  
  33. ?>


O tu jest przykład: http://www.deviantart.com/users/outgoing?h...//forum.php.pl/
Jak coś takiego zrobić?

Ten post edytował Saki 26.01.2011, 21:00:44
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Po co ci formularz??

  1.  
  2. if(!empty($_GET['url'])) {
  3.  
  4. if($_GET['confirm'] == 1) {
  5.  
  6. header("Location: ".$_GET['url']."");
  7. }
  8. else {
  9.  
  10. echo 'Jezeli chcesz przejsc dalej kliknij <a href="http://www.example.com/?url='.$_GET['url'].'&confirm=1"> Przejdz </a>';
  11. }
  12. }


oczywiście to tylko przykład..

Ten post edytował CuteOne 26.01.2011, 21:17:57
Go to the top of the page
+Quote Post
Saki
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

Ostrzeżenie: (0%)
-----


Cytat(CuteOne @ 26.01.2011, 21:16:58 ) *
Po co ci formularz??

  1.  
  2. if(!empty($_GET['url'])) {
  3.  
  4. if($_GET['confirm'] == 1) {
  5.  
  6. header("Location: ".$_GET['url']."");
  7. }
  8. else {
  9.  
  10. echo 'Jezeli chcesz przejsc dalej kliknij <a href="http://www.example.com/?url='.$_GET['url'].'&confirm=1"> Przejdz </a>';
  11. }
  12. }


oczywiście to tylko przykład..


Dziękuje działa (IMG:style_emoticons/default/smile.gif)
A wiesz może jak zwykłe linki (http://tmp.itunix.eu/) po kliknięciu zamienić na http://itunix.eu/redirect.php?url=http://t...u&confirm=1



  1. <?php
  2.  
  3. #Zrobiłem coś takiego:
  4.  
  5. $wzorzec = array( '/[a-zA-Z]{1,2}tp[s]?:\/\/[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}(:[0-9]*)?\/[^\n\s]*/',
  6. '/([^\/]{2})(www\.[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4})/');
  7. $zamiana = array( '<a href="http://tmp.itunix.eu/a/a/go.php?url=\0">\0</a>',
  8. '\1<a href="http://tmp.itunix.eu/a/a/go.php?url=\2">\2</a>');
  9. $com = preg_replace($wzorzec, $zamiana, $com);
  10.  
  11. /* Cały tekst przeszukuje w poszukiwaniu linku i zamienianie go na link z przejściem na strony czy uważasz że to dobry pomysł?
  12. Czy może jest jakiś inny lepszy?
  13. PS. Może znasz jakiś inny wzorzec? Bo aby ten wzorzec zadziałał trzeba mieć link w formie <a href="http://itunix.eu/" target="_blank">http://itunix.eu/</a> a czy jest jakiś wzorzec co rozpoznaje już linki w formie www.itunix.eu lub chociaż <a href="http://ituniz.eu" target="_blank">http://ituniz.eu</a> bez (slasha na koncu)*/
  14. echo $com;
  15.  
  16.  
  17. ?>


Ten post edytował Saki 26.01.2011, 22:29:09
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Przy pomocy preg_replace_callback wyszukujesz wszystkie linki w tekście i poddajesz je obróbce.
2. Rozbijasz sobie URL na jego konkretne części (parse_url) i sprawdzasz czy link prowadzi do hostu domena.com (domena Twoje serwisu).
3. Jeśli tak to nic nie robisz, jeśli nie to zamieniasz linka na domena.com/przejdzDoStrony.php?link=TUTAJ_LINK
4. Na koniec zamieniasz wszystko na ładny klikalny element <A>

Tak, więc wyświetlając treść, którą podał użytkownik będziesz miał coś takiego:
  1. <p>Bardzo fajna galeria <a href="http://domena.com/uzytkownik/crozin">crozina</a>, a tutaj jego <a href="http://domena.com/przejdzDoStrony.php?link=http%3A%2F%2Fcrozin.com%2Fgaleria">strona domowa</a>


Na stronie przejdzDoStrony.php wystarczy już tylko:
  1. Uwaga! Czy na pewno chcesz opuścić moją stronę i przejść do <a href="<?php echo $_GET['link'] ?>"><?php echo $_GET['link'] ?></a>?
(oczywiście dane z $_GET trzeba jest odpowiednio przefiltrować).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 18:00