Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 11.08.2017, 20:33
Интересующийся
Отправить личное сообщение для Tomson123 Посмотреть профиль Найти все сообщения от Tomson123
 
Регистрация: 10.08.2017
Сообщений: 10

не асилил
Ответить с цитированием
  #12 (permalink)  
Старый 11.08.2017, 20:48
Интересующийся
Отправить личное сообщение для Tomson123 Посмотреть профиль Найти все сообщения от Tomson123
 
Регистрация: 10.08.2017
Сообщений: 10

я пока не страдаю склерозом, то что недавно написано помню. Не надо цитировать все подряд, и вообще ничего не надо цитировать если ваш комментарий этого не требует. Не превращайте пост таким цитированием в большие бесполезные портянки.

Сообщение от Tomson123
А то малоли что отправят через авдресную строку
Не надо заниматься чепухой - strtr, str_replace и mysql_real_escape_string при выводе данных из базы, это полнейшая чепуха.

mysql_real_escape_string - это для экранирования данных перед записью в базу для исключения инъекции. Эта функция используется оригинальным расширением MySQL, которое разработчики настоятельно не рекомендуют использовать так как в новых версиях РНР оно исключено. Вместо этого расширения используйте mysqli или PDO, и работая с БД посредством подготовленных запросов, в которых экранирование будет выполнятся автоматически самим драйвером.

Смотри... вся эта чепуха прописана там не для радости или красоты!

Обьесняю! mysql_real_escape_string отвечает если я не ощибаюсь за то чтобы не было SQL иньекций! Торбишь чтобы какой нибудь залетный интузиаст не смог делать запросы в БД закоментировав часть моего обрашения к бд и прописав свое!

Эти постоянные переменные, функции обработки текста и т д служат для того чтобы какой нибудь дурачок не смог писать посты с сотней двумя буквами и сотней пробелов между неми ними! Чтобы небыло сотни отступов между двумя сообщениями! Да, можно было бы довольствоваться одной функцией htmlentities при этом на выдаче данные которые добавляются полностью без модерации могут быть засоренны сотней ненужных символом! Которые будут портить вид всего сайта, особенно если утебя еще идет и мобильная версия! Бывали случаи когда на форуме писали посты дети так что приходилось долго пролистывать вниз чтобы добраться до следушева поста, хотя в текушем было всего несколько слов!


Замена же "\'" на "'" и т.п., это глупости. Куда полезнее при записи данных пользователя в БД удалять экранирование пользователя. А каким методом произведен запрос можно узнать из $_SERVER["REQUEST_METHOD"], а с какого домена из $_SERVER["HTTP_ORIGIN"], правда старые браузеры такой заголовок могут и не передавать. В случае проверки браузер ли производит запрос, проверка сложнее.

И как ты видишь тогда BB теги сылок,html кода и т д на выдаче после того как ты порезал все теги там?
Ответить с цитированием
  #13 (permalink)  
Старый 11.08.2017, 20:52
Интересующийся
Отправить личное сообщение для Tomson123 Посмотреть профиль Найти все сообщения от Tomson123
 
Регистрация: 10.08.2017
Сообщений: 10

Пусть у вас всего 5 пользователей. В разные моменты времени они вошли на страницу и каждый из них получил записи из БД существующие на тот момент в базе. То чего вы хотите означает, что каждый из них добавляя новые записи в базу будет видеть только свои добавленные, а те, что могут добавлять в это же время другие пользователи нет. Так как запросы формы асинхронные и не вызывают перезагрузки страницы.

Я вкурсе, эти данные будут подгружаться по определенному интервалу постепенно ((если такая необходимость есть, например в чате или на форуме) если же речь идет о информационых разделах то эти данные будут доступны пользователю когда он сам обновит страницу или же часть его содержания

Не "эта запись" должна добавляться на страницу, а все новые записи, которые на момент добавления пользователем своей были добавлены в базу. То есть, например, записи выводятся в контейнерах DIV начиная с первой. Если в атрибут этих контейнеров помещать ID записей, то при отправлении формы нужно получать из атрибута последнего контейнера ID последней (для клиента) записи и отправлять его на сервер. После успешного добавления записи сервер должен получить записи по условию WHERE `type` = 1 AND id > $id ORDER BY id, где $id, это последняя запись существующая у клиента на странице. Вот это он должен вернуть клиенту, а клиент их добавит на страницу в новых добавленных контейнерах.
Да, да именно так! Я все же смог разобраться с этой проблемой! И уже написал шпаргалку себе!

Сообщение от Tomson123
Проблема в том, что когда я кликаю мышкой по полю ...
Проблема в том, что $("#FormSubmit").click(function (e) { ... это полная ахинея. Что за событие формы обрабатывается в моем коде в строке 01?

Согласен, я там запутался и чуть пойже добавления того поста нашел где ощибся и все исправил! Спасибо.
Ответить с цитированием
  #14 (permalink)  
Старый 12.08.2017, 05:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну юмористы. Я писал о том, что не нужно все что вам написано цитировать, включая и кучу кода, чего вами было сделано.

Теперь же, вы берете из моего цитаты, для комментирования, но не помещаете их в теги цитирования, и как теперь это прочесть?

Сообщение от Tomson123
mysql_real_escape_string отвечает если я не ощибаюсь за то чтобы не было SQL иньекций!
Я прекрасно осведомлен о данной функции и ее предназначении, но то что вы делаете, это полный бедлам. И вообще, пора выбрасывать в помойку оригинальное расширение MySQL. Кроме того, вы разработчик, вы и только вы определяете типы данных которыми будет производится обмен клиента с сервером. Допустим, серверный сценарий ожидает от клиента число идентификатор для выборки по нему из базы. В данном случае выгоднее привести полученное значение к ожидаемому типу и по результату делать или нет запрос к базе, чем использовать mysql_real_escape_string:

if($id = (int)$_POST['id']) {
    //запрос по WHERE id = $id
} else //подстава


Я не стану дальше комментировать ваши вопросы. Вы запутались в понимании и назначении функций, поэтому и "обезопасить" у вас превращается в кошмар.

Как быть с ВВ тегами, ссылками и прочим, это совсем иной вопрос, ибо формат ВВ и выбран таковым, что символы его описывающие не несут в себе никакой опасности. БД может хранить в себе любые "колющиеся и режущиеся предметы", окошмаривать их непотребными действиями при записи в базу потому, что страшно, это от недопонимания.

Последний раз редактировалось laimas, 12.08.2017 в 06:20.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести текст на страницу? Hurray Events/DOM/Window 4 03.11.2013 15:21
Цикл завешивает страницу, помогите Romingood jQuery 5 19.10.2013 14:30
Как сделать ссылку на страницу видимой при определенных условиях? zonkon Общие вопросы Javascript 2 03.10.2013 13:04
Помогите вставить скрипт на страницу alexsio Работа 7 22.04.2013 18:19
Подскажите, пжлст, как вывести в тот же документ результат ф-ции? LexXxeL Элементы интерфейса 4 13.05.2009 13:26