[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Реабилитация после курсов Попова
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
Игорь_Vasinsky
странно.. но мне почему то всегда достаточно было форума и гугла..
есть конечно своя библиотеке pdf книг.. но лежат мёртвым грузом... так.. листал тока..

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
Цитата (Игорь_Vasinsky @ 7.05.2012 - 16:56)
гугла..

Гугл дает ту же инфу, но быстрее.
Игорь_Vasinsky
я об этом и говорил wink.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
HErATuB
В топку книги даеш официальный мануал =)
tp-20
ребята, вопросы по коду из курса попова можно прямо сюда постить? или есть отдельная ветка?
Игорь_Vasinsky
можешь и сюда, можешь и в соответствующем разделе писать.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
В раздел для новичков.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
tp-20
У меня вопрос по безопасности.
я вот понаставил кучу защит для поиска (и для других передаваемых данных)
$search = stripcslashes (trim (mysql_real_escape_string (htmlspecialchars (strip_tags ($search)))));

но не уверен в последовательности. Если strip_tags поставить в самое начало - то тэги<> заменяются на &gt и &lt, а если поставить в конце - перед самым $search - то теги <> вообще не выводятся. слеш и бакслэш /\ - проходят открыто, не экранируются.
Пришлось пока оставить по отдельности. Но я думал от лишних переменных избавиться.
    $search = trim($search);
$search = stripcslashes($search);
$search = htmlspecialchars($search);
$search = mysql_real_escape_string($search);
$search = strip_tags($search);


Как сделать, чтобы все проверки проходили? Или если оставить наиболее значимую, самую надёжную - то какую?
то же самое - если $search = strip_tags($search); перенести выше остального кода - тэги <> не проходят.

И правильно я сделал, что у меня эти проверки и в исходном файле, и в обработчике?

Спасибо заранее.
Гость_Michael
tp-20, все не правильно у тебя
inpost
tp-20
То, что тебе модератор ответил, что в разделе для новичков свои темы писать - ты проигнорировал?

Тут всё у тебя неправильно, абсолютно всё.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Zzepish
Я получил самую основу- что такое php и куда его пихать! Все остальное он советует как УГ!
Guest
Суть вопроса такова Как в теме написал я что на сайте есть скрипт коментариев без всяких излишеств смайлов и прочего. Соопщения могут оставлять только зареганые пользователи ну и только они и видят поле ввода коментария гости его попросту не видят. Так вот глупо просить человека вводить каждый раз свой логин и email. C логином я уже разобрался он автоматом показывается выкидывается из базы точьнее $login то сушествует во время работы сессии, а вот как вывести email не допетраю помогите плз.


<? session_start();
include ("bd.php");

if (!empty($_SESSION['login']) & !empty($_SESSION['password'])){
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = mysql_query("SELECT id,avatar FROM users WHERE login='$login' & password='$password' & email='$email'",$db);
$myrow = mysql_fetch_array($result);
}


include("head.php");


$res = mysql_query ("SELECT * FROM ".$tbl." ORDER BY id DESC",$bd);
$row = mysql_fetch_array($res);
$num = 10;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$start = ($page * $num) - $num;
$last = $num;
$res = mysql_query("SELECT * FROM ".$tbl." ORDER BY id DESC LIMIT {$start}, {$last}");
$count = mysql_num_rows(mysql_query("SELECT * FROM ".$tbl.""));
$count = ceil($count / $num);


while ($row = mysql_fetch_array($res)) {
printf ("

<div class='comment'>
<div class='top'>
<div class='color_block'>
<div class='border_main'>%s</div>
<div class='block_content'>
<div class='text'>%s
</div></div></div></div></div>
<div id='message'>
<div align='right'>E -mail: %s | Дата: %s
<a href='#top' id='top-link'>
<a href='edit.php?id=%s'>
<input type='submit' value='Редактировать' class='login_form_right1'></a>
<a href='?id=%s#top'>
<input type='submit' value='Удалить' class='login_form_right1'></a></a></div></div>
<div style='padding-top:3;'></div>
"
,$row["name"],$row["text"],$row["email"],$row["date"],$row["id"],$row["id"]);

}


/*--ВОТ ФОРМА ДЛЯ ВВОДА КОМЕНТОВ--*/
if (!isset($myrow['avatar']) or $myrow['avatar']==''){
}
else { ?>
<form name="comment_f" method="post" action="submit.php" >
<
input name="email" type="text" value="Ваш e-mail" class="login_form_right" onblur = "if(this.value=='')this.value='Ваш e-mail';" onfocus= "if(this.value=='Ваш e-mail')this.value='';"><br>
<
textarea name="text" class="textarea" style="text-align:justify"></textarea><br>
<
div style="margin-left: 80%"><input name="button" type="submit" value="Добавить" class="login_bootun_left" onClick="addComment(); return false;"/></div>
</
form>
<? } ?>
/*--!ФОРМА ДЛЯ ВВОДА КОМЕНТОВ--*/


<div id="top"></div>
<
h7>Страницы:</h7>
<? for($i = 1; $count >= $i; $i++){ ?>
<a href="/?page=<?=$i;?>"><?=$i;?></a>
<? }
print "<input onclick='history.back()' class='login_bootun_left' type='button' value='Назад' border: none; ' />";
include("foot.php"); ?>


Фаил submit.php


<? session_start();
include ("db.php");
$name = trim ($_SESSION['login']);
$name = htmlspecialchars ($name);
$email = trim ($_SESSION["email"]);
$email = htmlspecialchars ($email);
$text = trim ($_POST["text"]);
$text = htmlspecialchars ($text);
$date = date("d-m-Y в G:i:s");


if (!isset($email) or empty ($email)) {
echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
exit ("<div align='center'><div class='alert'>Вы не ввели email!</div></div>");
}

if (!isset($text) or empty ($text)) {
echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
exit ("<div align='center'><div class='alert'>Вы не ввели текст комментария!</div></div>");
}

$insert = mysql_query ("INSERT INTO ".$tbl." (name,date,email,text) VALUES ('$name','$date','$email','$text')",$bd);


if($insert == "true") {
echo "<meta http-equiv='refresh' content='0; URL=$_SERVER[HTTP_REFERER]'>";
} else {
print "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
echo "<div align='center'><div class='alert'>Комментарий не добавлен!</div></div>";
}
?>


фаил db.php


$base = "base";
$user = "netwixell";
$password = "7246859031";
$host = "localhost";
$tbl = "comment";
$tbl2 = "advanced";
$bd = mysql_connect ("$host","$user","$password","$email");
mysql_select_db ("$base",$bd);


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.