| Модератор форума: JonMagon |
| Сообщество uCoz Мастерская uCoz Использование PHP и API на uCoz Проблемы при использовании PHP (Ошибки, длительная загрузка скриптов и т. д.) |
| Проблемы при использовании PHP |
![]() Если у Вас возникли проблемы при работе с PHP (ошибки, длительная загрузка скриптов, неработоспособность функций и т. д.), Вы можете написать в данной теме. |
|
Zhas777, кто же пишет такой уязвимый код?
Что ж у вас все с поста сразу в бд идет без фильтрации? Вот вам и способ узнать некоторую информацию о вашей бд ![]() Добавлено (03 Мар 2013, 22:35:28) Благодарности можно оставить — в репутации.
Помощью в ЛС не занимаюсь, есть форум. Занимаюсь сайтами на платной основе. Шаманю на php и mysql с использованием бубна 80 lvl. |
|
Я не очень опытен в php. И имею проблему со следующим:
Сам php Код <?php $wpId=$_POST['wpId']; $wpId=htmlspecialchars ($wpId); $image=$_POST['image']; $image=htmlspecialchars ($image); $trueDimensions=$_POST['trueDimensions']; $trueDimensions=htmlspecialchars ($trueDimensions); $crop=$_POST['crop']; $crop=htmlspecialchars ($crop); $name=$_POST['name']; $name=htmlspecialchars ($name); $phone=$_POST['phonenum']; $phone=htmlspecialchars ($phone); $message=$_POST['message']; $message=htmlspecialchars ($message); $message=nl2br($message); $email=$_POST['mail']; $email=htmlspecialchars ($email); $ref=getenv('HTTP_REFERER'); if ($phone=="" || $email=="" ) { echo "<center><b>Заповніть всі обов'язкові поля!</b></center>"; echo "<meta http-equiv='refresh' content='2 url=$ref'>"; exit; } $admin_email="ххх"; # E-Mail администратора if (@mail("$admin_email", "Замовлення прорахунку вартості фотошпалер", "Name: $name; Login: $phonenum; E-Mail: $mail; Subject: $wpId; Image: $image; Crop: $crop; Message: $message; "From: $mail\r\nReply-To: $mail\r\nContent-Type: text/html; charset=windows-1251\r\nContent-Transfer-Encoding: 8bit")) { echo "<Color:c09><center><b>Ваше повідомлення успішно надіслано! Наш менеджер зателефонує Вам на протязі робочого дня.</b></center>"; } ?> Ну и страница Код <script language="JavaScript"> function check() { if (form.wpId.value=="" || form.image.value=="" || form.trueDimensions.value=="" || form.crop.value=="" || form.name.value=="" || form.phonenum.value=="" || form.mail.value=="" || form.massage.value=="") { alert ("check fields!"); } else { form.submit(); } } </script> <form action="http://адрес сайта/php/название.php" method="post" id="form"> <input type="hidden" name="wpId" id="wallpaper_id" value="6249"> <input type="hidden" name="image" value="293.87755102041,306.12244897959"> <input type="hidden" name="trueDimensions" id="trueDimensions" value="293.87755102041,306.12244897959"> <input type="hidden" name="crop" id="cropCoords" value="0,0,294,306,294,306"> <div class="form-row"><label for="">Ведіть Ваше ім'я:<span class="required-star">*</span></label><input type="text" name="name" maxlength="100"></div> <div class="form-row"><label for="">Телефон:<span class="required-star">*</span></label><input type="text" name="phonenum" maxlength="13"></div> <div class="form-row"><label for="">Email:<span class="required-star">*</span></label><input type="text" name="mail" maxlength="100"></div> <div class="form-row"><label for="">Комментар:</label><textarea name="massage" maxlength="500" style="margin: 2px; width: 194px; height: 72px;"></textarea></div> <div class="form-row" style=" font-size:16px;">* - обов'язкові для заповнення поля</div> <div class="form-row"><button type="submit">Замовити</button></div> </form> И как результат Код ({"SCRIPTDATA":"","ERROR":""}) |
|
Код <? $___notjson=1; $wpId=$_POST['wpId']; $wpId=htmlspecialchars ($wpId); $image=$_POST['image']; $image=htmlspecialchars ($image); $trueDimensions=$_POST['trueDimensions']; $trueDimensions=htmlspecialchars ($trueDimensions); $crop=$_POST['crop']; $crop=htmlspecialchars ($crop); $name=$_POST['name']; $name=htmlspecialchars ($name); $phone=$_POST['phonenum']; $phone=htmlspecialchars ($phone); $message=$_POST['message']; $message=htmlspecialchars ($message); $message=nl2br($message); $email=$_POST['mail']; $email=htmlspecialchars ($email); $ref=getenv('HTTP_REFERER'); $ms_email = 'ххххх@yandex.ua'; //ваш e-mail адрес $ms_address = 'smtp.yandex.ua'; // адрес smtp-сервера $ms_port = 25; // порт (стандартный smtp - 25) $ms_login = "ххххх"; // логин к ящику $ms_pwd = "ззззззз"; // пароль к ящику $ms_codepage = 'windows-1251'; //кодировка в которой будут уходить письма, utf-8, Windows-1251, итд... if (mail_socket('admin@gmail.com','ххххх@yandex.ua','тема','Name: $name; Login: $phonenum; E-Mail: $mail; Subject: $wpId; Image: $image; Crop: $crop; Message: $message;')) echo "<Color:c09><center><b>Ваше повідомлення успішно надіслано! Наш менеджер зателефонує Вам на протязі робочого дня.</b></center>"; ob_implicit_flush(); function write_smtp_response($socket, $msg) { $msg = $msg."\r\n"; socket_write($socket, $msg, strlen($msg)); $read = socket_read($socket, 1024); if ($read{0} != '2' && $read{0} != '3') { if (!empty($read)) return "ERROR: ".$read."\n"; else return "ERROR: Unknown"; } } function ms_convert($data) { global $ms_codepage; return "=?$ms_codepage?B?".base64_encode($data)."?="; } function mail_socket($to,$reply_to,$subject,$message) { global $ms_address, $ms_port, $ms_login, $ms_pwd, $ms_email, $ms_codepage, $ms_to; if ($to=='') $to=$ms_to; if ($reply_to=='') $reply_to=$ms_email; try { $a=''; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket < 0) $a='socket_create failed: '.socket_strerror(socket_last_error()); if ($a=='') if (!socket_connect($socket, $ms_address, $ms_port)) $a='socket_connect failed: '.socket_strerror(socket_last_error()); if ($a=='') $a=write_smtp_response($socket, 'EHLO '.$ms_login); if ($a=='') $a=write_smtp_response($socket, 'AUTH LOGIN'); if ($a=='') $a=write_smtp_response($socket, base64_encode($ms_login)); if ($a=='') $a=write_smtp_response($socket, base64_encode($ms_pwd)); if ($a=='') $a=write_smtp_response($socket, 'MAIL FROM:<'.$ms_email.'>'); if ($a=='') $a=write_smtp_response($socket, 'RCPT TO:<'.$to.'>'); if ($a=='') $a=write_smtp_response($socket, 'DATA'); if ($a=='') { $msg=''; $msg.="From: <$ms_email>\r\n"; $msg.="X-Mailer: http://zgbox.ru\r\n"; $msg.="To: $to\r\n"; $msg.= "Subject: ".ms_convert($subject)."\r\n"; if ($reply_to!=='') $msg.= "Reply-To: $reply_to\r\n"; $msg.="Content-Type: text/plain; charset=$ms_codepage;\r\n\r\n"; $msg.=$message."\r\n."; $a=write_smtp_response($socket, $msg); } if ($a=='') $a=write_smtp_response($socket, 'QUIT'); } catch (Exception $e) { $a="\nError: ".$e->getMessage(); } if (isset($socket)) { socket_close($socket); } if ($a=='') return true; else { echo "mail_socket() Error: ".$a; return false; } } ?> страница та же что и выше. Только ответ сервера Код Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация. Скрипт рабочий, проверил на другом хостинге |
|
Ifgeniy,
Цитата (Ferro7) Функция mail() не доступна в кастрированном PHP от uCoz. Гуглите по запросу "отправка почты php без mail" |
|
Цитата (Abu-Abubakr) Функция mail() взял отсюда отправка почты без mail() и sendmail |
|
Цитата (Ifgeniy) Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация. Аах.. да, как же я мог забыть это ... Вобщем, Ifgeniy, спешу вас огорчить: на php ucoz есть трабла с сокетами, и на этом форуме даже уже кто-то жаловался по этому поводу, но, походу дела, разработчики uCoz проигнорировали эти жалобы. Я где-то полгода назад сам с этим столкнулся, когда писал отправку почты на ucoz одному челу. PHP виснет где-то между записью (fput) и чтением (fget) сокетов и затем вырубается системой по истечении лимита времени на работу. Я писал об этом в ЛС joncofe, Виктору, но, воз и ныне там Ifgeniy, можете попробовать написать в техподдержку, может, начнут уже работать. 500 - это ошибка сервера, а не программиста php, так что вы будете правы в любом случае ![]() Вы полюбили меня. Здесь я. (с)
|
|
Цитата (Ferro7) Аах.. да, как же я мог забыть это ... Вобщем, Ifgeniy, спешу вас огорчить: на php ucoz есть трабла с сокетами, и на этом форуме даже уже кто-то жаловался по этому поводу, но, походу дела, разработчики uCoz проигнорировали эти жалобы. Я где-то полгода назад сам с этим столкнулся, когда писал отправку почты на ucoz одному челу. PHP виснет где-то между записью (fput) и чтением (fget) сокетов и затем вырубается системой по истечении лимита времени на работу. Я писал об этом в ЛС joncofe, Виктору, но, воз и ныне там (всем пофиг). Ifgeniy, можете попробовать написать в техподдержку, может, начнут уже работать. 500 - это ошибка сервера, а не программиста php, так что вы будете правы в любом случае судя по всему стоит отказаться от хостинга. Хорошо что не проплатил пакет на несколько лет) |
|
Цитата (Ifgeniy) судя по всему стоит отказаться от хостинга. Хорошо что не проплатил пакет на несколько лет) Поздравляю, нашли выход с лабиринта))) Добавлено (10 Мар 2013, 20:09:24) Цитата (Модератор форума) Если у Вас возникли проблемы при работе с PHP (ошибки, длительная загрузка скриптов, неработоспособность функций и т. д.), Вы можете написать в данной теме. Надо дополнить это сообщение: "И забудьте о нем!" |
|
Abu-Abubakr, на данную ветку уже давно забили, приоритет у компании немного другой...
Благодарности можно оставить — в репутации.
Помощью в ЛС не занимаюсь, есть форум. Занимаюсь сайтами на платной основе. Шаманю на php и mysql с использованием бубна 80 lvl. |
|
|
|
Sench6489, здесь общаются на кириллице, а не транслитом.
Благодарности можно оставить — в репутации.
Помощью в ЛС не занимаюсь, есть форум. Занимаюсь сайтами на платной основе. Шаманю на php и mysql с использованием бубна 80 lvl. |
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!

Чат сообщества









