Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z generatorem.
Forum PHP.pl > Forum > Przedszkole
Bandab
Witam.
Nie wiem już co zrobić, więc zgłaszam się tutaj na forum, do doświadczonych skrypterów. Mam problem z kodem php stworzonym przeze mnie na potrzeby generatora.

Kod jest dosyć krótki, ale jak wiele osób zauważy ma dużo luk, z którymi nie jestem w stanie sobie poradzić.

  1. <?php
  2. //start buforowania
  3.  
  4.  
  5. //ustawiamy content
  6. header('Content-Type: image/jpeg; charset=utf-8');
  7.  
  8. //tworzenie obrazu
  9. $obraz = imagecreatefromjpeg('szablon.jpg');
  10.  
  11. //tworzenie czcionki
  12. $czcionka = 'arial.ttf';
  13.  
  14. //tworzenie kolor?w
  15. $kolor = imagecolorallocate($obraz, 0,0,0);
  16. $kolor2 = imagecolorallocate($obraz, 255,255,255);
  17.  
  18.  
  19. //tekst do narysowania
  20. $text = $_GET['imie'];
  21. $text1 = $_GET['nazwisko'];
  22. $text2 = $_GET['cenawyw'];
  23. $text3 = $_GET['minimalne'];
  24. $text4 = $_GET['kupteraz'];
  25. $text5 = $_GET['rozpauk'];
  26. $text6 = $_GET['zakauk'];
  27. $text7 = $_GET['godzina'];
  28. $text8 = $_GET['telefon'];
  29. $text9 = $_GET['opis'];
  30. $text10 = $_GET['lokalizacja'];
  31. $text11 = $_GET['nazwa'];
  32.  
  33. //obrazy
  34.  
  35.  
  36.  
  37.  
  38. //tworzymy napisy
  39. imagettftext($obraz, 12, 0, 260, 455, $kolor, $czcionka, $text);
  40.  
  41. imagettftext($obraz, 12, 0, 305, 475, $kolor, $czcionka, $text1);
  42.  
  43. imagettftext($obraz, 12, 0, 720, 225, $kolor, $czcionka, $text2);
  44.  
  45. imagettftext($obraz, 12, 0, 730, 245, $kolor, $czcionka, $text3);
  46.  
  47. imagettftext($obraz, 12, 0, 700, 283, $kolor, $czcionka, $text4);
  48.  
  49. imagettftext($obraz, 12, 0, 380, 333, $kolor, $czcionka, $text5);
  50.  
  51. imagettftext($obraz, 12, 0, 380, 353, $kolor, $czcionka, $text6);
  52.  
  53. imagettftext($obraz, 12, 0, 400, 375, $kolor, $czcionka, $text7);
  54.  
  55. imagettftext($obraz, 12, 0, 230, 560, $kolor, $czcionka, $text8);
  56.  
  57. imagettftext($obraz, 12, 0, 20, 685, $kolor, $czcionka, $text9);
  58.  
  59. imagettftext($obraz, 12, 0, 225, 530, $kolor, $czcionka, $text10);
  60.  
  61. imagettftext($obraz, 15, 0, 150, 185, $kolor2, $czcionka, $text11);
  62.  
  63. $miniaturka = $_POST['miniaturka'];
  64. if(!empty($miniaturka))
  65. {
  66. if(exif_imagetype($miniaturka) == IMAGETYPE_JPEG)
  67. {
  68. list($width, $height) = getimagesize($miniaturka);
  69. $image = imagecreatefromjpeg($miniaturka);
  70. imagecopyresampled($obraz, $image, 26, 149, 0, 0, 83, 57, $width, $height);
  71. }
  72. }
  73. else
  74. {
  75. }
  76.  
  77. $awatar = $_POST['fotod'];
  78. if(!empty($awatar))
  79. {
  80. if(exif_imagetype($awatar) == IMAGETYPE_JPEG)
  81. {
  82. list($width, $height) = getimagesize($awatar);
  83. $image = imagecreatefromjpeg($awatar);
  84. imagecopyresampled($obraz, $image, 111, 406, 0, 0, 100, 100, $width, $height);
  85. }
  86. }
  87. else
  88. {
  89. }
  90.  
  91. $foto1 = $_POST['foto1'];
  92. if(!empty($foto1))
  93. {
  94. if(exif_imagetype($foto1) == IMAGETYPE_JPEG)
  95. {
  96. list($width, $height) = getimagesize($foto1);
  97. $image = imagecreatefromjpeg($foto1);
  98. imagecopyresampled($obraz, $image, 39, 1081, 0, 0, 390, 390, $width, $height);
  99. }
  100. }
  101. else
  102. {
  103. }
  104.  
  105. $foto2 = $_POST['foto2'];
  106. if(!empty($foto2))
  107. {
  108. if(exif_imagetype($foto2) == IMAGETYPE_JPEG)
  109. {
  110. list($width, $height) = getimagesize($foto2);
  111. $image = imagecreatefromjpeg($foto2);
  112. imagecopyresampled($obraz, $image, 470, 1081, 0, 0, 390, 390, $width, $height);
  113. }
  114. }
  115. else
  116. {
  117. }
  118.  
  119. $foto3 = $_POST['foto3'];
  120. if(!empty($foto3))
  121. {
  122. if(exif_imagetype($foto3) == IMAGETYPE_JPEG)
  123. {
  124. list($width, $height) = getimagesize($foto3);
  125. $image = imagecreatefromjpeg($foto3);
  126. imagecopyresampled($obraz, $image, 39, 1511, 0, 0, 390, 390, $width, $height);
  127. }
  128. }
  129. else
  130. {
  131. }
  132.  
  133. $foto4 = $_POST['foto4'];
  134. if(!empty($foto4))
  135. {
  136. if(exif_imagetype($foto4) == IMAGETYPE_JPEG)
  137. {
  138. list($width, $height) = getimagesize($foto4);
  139. $image = imagecreatefromjpeg($foto4);
  140. imagecopyresampled($obraz, $image, 470, 1511, 0, 0, 390, 390, $width, $height);
  141. }
  142. }
  143. else
  144. {
  145. }
  146.  
  147. //wy?wietlamy obraz
  148. imagejpeg($obraz, null, 100);
  149.  
  150. //koniec buforowania
  151.  
  152. ?>



Generator jest podpięty do strony Tutaj.


Co nie działa?
  1. Nie generują się niektóre obrazy jpg.
  2. Nie potrafię zrobić zawijania tesktu na obrazku z opisu.
  3. Czasami obrazek w ogóle się nie generuje.


Co chciałbym aby działało?
  • Obsługa .gif, .png i .jpg, tak aby się generowało.
  • Zawijanie wpisanego tekstu w textarea opisu przedmiotu.


Nie jestem zbyt dobrym skrypterem w php, właściwie dopiero zaczynam. Z góry dziękuję za każdą wskazówkę lub pomoc. To dla mnie bardzo ważny projekt. smile.gif
Bandab.
Misiekkkk
Hmm, napisałeś jakbyś czekał na gotowca.. Na pierwszy ogień poczytaj o filtrowaniu formularzy, broń cie panie boże żebyś wrzucał "surowe mieso" na talerz ;p.. i wyłącz na czas poprawy ten dziurawy skrypt smile.gif

Tutaj przyjemna lekturka http://webmade.org/porady/bezpieczenstwo-p...on-xss-csrf.php

I jeszcze
http://www.php.net/manual/en/function.imagegif.php
http://www.php.net/manual/en/function.imagejpeg.php
http://www.php.net/manual/en/function.imagejpeg.php
Bandab
A co tutaj da filtrowanie? smile.gif Potrzebuję pomocy w zaklejeniu tych dziur, które uniemożliwiają pracę skryptu.

Dobrze, podałeś linki do stron, w których to jest opisane jak pobierać dany obrazek do formularze jeżeli jest on w formacie jpg, png i gif, a mi potrzeba skryptu dzięki, któremu będę mógł pobrać dane obrazka i po ich przeanalizowaniu formatu przez skrypt powinien dobrać dalszą cześć.

Odświeżam.

Odświeżam.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.