Witam wszystkich forumowiczów. Po raz pierwszy zdecydowałem się zadać pytanie na forum, nie mam dużego doświadczenia, więc proszę o wyrozumiałość (IMG:
http://forum.php.pl/style_emoticons/default/snitch.gif) .
Jak napisałem w tytule chciałbym zaprzęgnąć bezpieczniejsze metody przesyłania danych w moich skryptach php. Zależy mi, aby dane wysyłane z formularza były szyfrowane.
Szukałem trochę w internecie i znalazłem pare rozwiązań, ale niestety nie potrafię w tym przypadku zintegrować tego z moimi "wypocinami" (IMG:
http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .
Oto mój przykładowy plik formularza (pierwszy raz coś dodaję, mój plik to php mieszane z html, nie wiem czy dobrze to tu wstawię)
<?php
require_once './config.php';
?>
<head></head>
<body>
<?php
$message='';
if(isset($_POST['submit'])) {
$message='';
if((strlen($_POST['telefon']) && strlen($_POST['oferta']))==0
) {
$message.="Nie wypełniłeś wymaganych pól";
}
// musiałem skrócić post bo forum nie chciało przyjąć z powodu długości
// tutaj była walidacja danych z formularza
if ($message=='')
{
$sql = "INSERT INTO ogloszenia (data_dodania,telefon,email,oferta,logo) VALUES (NOW(),'$t','$o','$content')";
echo "<meta http-equiv=refresh content=0;URL=./ogloszenia.php>"; }
else
{
require_once 'incl/h1.php';
?>
<table>
<?php
require_once 'incl/h2.php';
?>
<td>
<table>
<tr>
<td>
<form method="post" enctype="multipart/form-data">
<table>
<tr>
<td colspan=2>
</td>
</tr>
<tr>
<td>TELEFON:</td><td><input name="telefon" value="
<?php if (isset($_POST['telefon'])) echo $_POST['telefon']; ?>"></td>
</tr>
<tr>
<td>TREŚĆ OGŁOSZENIA:</td><td><textarea name="oferta" rows="4" cols="45">
<?php if (isset($_POST['oferta'])) echo $_POST['oferta']; ?></textarea></td>
</tr>
<tr>
<td>ZDJĘCIE:</td><td><input type="hidden" name="MAX_FILE_SIZE" value="30720"><input type="file" name="nazwa" />
<? print_r($_FILES['nazwa']); ?></td>
</tr>
<tr>
<td colspan=2>
<img src="image.php">
<input type="text" name="pass" size="8">
<br>wpisz hasło z obrazka
</td>
</tr>
</table>
<input type="submit" name="submit" value="wyślij">
</form>
</td>
</tr>
</table>
<?
require_once 'incl/f.php';
}
}
// jeśli przycisk nie został wciśnięty
else
{
require_once 'incl/h1.php';
?>
<table>
<?php
require_once 'incl/h2.php';
?>
<td>
<table>
<tr>
<td>
<form method="post" enctype="multipart/form-data">
<table>
<tr>
<td>TELEFON:</td><td><input name="telefon" value="
<?php if (isset($_POST['telefon'])) echo $_POST['telefon']; ?>"></td>
</tr>
<tr>
<td>TREŚĆ OGŁOSZENIA:</td><td><textarea name="oferta" rows="4" cols="45">
<?php if (isset($_POST['oferta'])) echo $_POST['oferta']; ?></textarea></td>
</tr>
<tr>
<td>ZDJĘCIE:</td><td><input type="hidden" name="MAX_FILE_SIZE" value="30720"><input type="file" name="nazwa" />
<? print_r($_FILES['nazwa']); ?></td>
</tr>
<tr>
<td colspan=2>
<img src="image.php">
<input type="text" name="pass" size="8">
<br>wpisz hasło z obrazka
</td>
</tr>
</table>
</h1>
<input type="submit" name="submit" value="wyślij">
</form>
</td>
</tr>
</table>
<?php
require_once 'incl/f.php';
}
?>
// ******** koniec formularza
Użytkownik wypełnia formularz i naciska przycisk wyślij i wtedy dane powinny pow
ędrować szyfrowane.
znalazłem rozwiązania, np. :
<?php
//link do tego znalazłem własnie na tym forum
$sock = fsockopen("ssl://secure.example.com/", 443
, $errno, $errstr, 30
); if (!$sock) die("$errstr ($errno)\n");
fwrite($sock, "POST /form_action.php HTTP/1.0r\n"); fwrite($sock, "Host: secure.example.com/r\n"); fwrite($sock, "Content-type: application/x-www-form-urlencodedr\n"); fwrite($sock, "Accept: */*r\n");
$headers = "";
$headers .= "$str\n";
$body = "";
$body .= fgets($sock, 4096
);
?>
// **** koniec pliku
Nie rozumiem w przypadku mojego kodu w którym momencie (przed czy po walidacji) mam wysłać dane za pomocą powyższego rozwiązania i co znajdzie się w zmiennej $body? Chyba nie całe <body> pliku formularza?
Wiem że to nie jest najlepsze, najnowsze rozwiązanie, ale zależy mi na czymkolwiek bezpieczniejszym do http (IMG:
http://forum.php.pl/style_emoticons/default/smile.gif) .
Poproszę o pomoc w zrozumieniu co i kiedy wysyłam oraz co i kiedy odbieram jeśli można na przykładzie mojego pliku. (Chyba że totalnie się nie nadaje (IMG:
http://forum.php.pl/style_emoticons/default/biggrin.gif) - bo że nie jest przykładem dobrego programowania to wiem (IMG:
http://forum.php.pl/style_emoticons/default/laugh.gif) ).
Pozdrawiam, z góry dziękuję.
(przepraszam za brak wcięć w kodzie - musiałem skrócić skrypty do minimum bo był za długi post)
Powód edycji: dodałem bbcode (cysiaczek)