За последние 24 часа нас посетили 22512 программистов и 1049 роботов. Сейчас ищут 673 программиста ...

Прилично ли показывать имена таблиц в sql ?

Тема в разделе "PHP для новичков", создана пользователем AnteFil, 4 авг 2020.

  1. AnteFil

    AnteFil Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    Пишу плагин для работы сайта и параллельно API возник вопрос прилично ли показывать имена таблиц в выдаче sql ? После запроса к базе php выдаёт [{"id":3333,"id_job_sait":"33333", и так далее......

    Я думаю можно ли так оставить или всё же скрыть передавая например массив с цифрами
    [{"0":3333,"1":"33333", и так далее.....
    С таким телом труднее работать, но как мне кажется более защищённый способ.
    Прокомментируйте кто знает как показ имён таблиц может сказаться на защищённости сайта от взлома
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Ты можешь в sql запросе дать новые имена :
    Код (Text):
    1. SELECT `id` AS `number`, `id_job_sait` AS `job_number`, ...
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754
    Никак. Если всё в порядке с точки зрения SQL-инъекций. Так что лучше озаботься там, чем порть жизнь фронтенд программисту. И это, имена полей - это не имена таблиц :)
     
  4. AnteFil

    AnteFil Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    нашёл замечательную функцию array_combine в итоге и имена у массива есть и всё осталось в тайне но вопрос всё же актуальный
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754
    @AnteFil Нельзя через название полей взломать. Просто всё через подготовленные запросы делаешь, и не паришься. Если хочешь быть супер-пупер секьюрным, все данные в запрос подставляй через подготовленные запросы. Или возьми нормальный фреймворк, там это за тебя сделано.
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Для тех кто делает неудобное и непонятное апи - в аду есть отдельный котел...

    Надо просто поля в таблицах бд сразу адекватно называть и потом смело отдавать,но не все - а нужные. Если нужно переименовать - переименуйте...

    Только не надо безличное апи, 2 параметр телефон, а 5 й емейл. Вероятность ошибок возрастет в разы. И не дай бог потом добавите ещё поле... Да ещё не в конец... Все - нервный срыв обеспечен
     
  7. amberson

    amberson Активный пользователь

    С нами с:
    23 июл 2020
    Сообщения:
    62
    Симпатии:
    14
    AnteFil, может вылезти другая проблема если id-шники будешь в паблик выбрасывать. Это то, что можно будет посмотреть, изменить удалить (смотря что реализуется посредством апи) информацию которая для этого не предназначена в данный момент или вообще. Нет, если подмена id не критична, то норм.
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Если апи нормальное, то там всевозможные проверки, защита от дурака и прочие прелести... Так что свети айдишники смело
     
  9. nikolaevevge

    nikolaevevge Новичок

    С нами с:
    5 июл 2020
    Сообщения:
    15
    Симпатии:
    2
    Ответ на Ваш вопрос с точки зрения разработки за последние 10 лет: допустимо, если это удобно для разработки и последующего чтения и понимания логики скрипта и кода разработчиками которые затем будут иметь с ним дело.
    Касаемо безопасности - не имеет значения есть имена таблиц в возвращаемых скриптами данных или их нет, если их не может получить никто кроме администраторов и людей имеющих доступ по FTP или к базе данных. Если же эти данные может получить кто то ещё - в этом случаи уже можно говорит что Ваш сайт взломан с всеми вытекающими.
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754
    Ответы апи в браузере может посмотреть любой пользователь, даже не имея доступа к ftp. Но всё равно, в этом ничего страшного, если правильно делаются запросы.
     
  11. nikolaevevge

    nikolaevevge Новичок

    С нами с:
    5 июл 2020
    Сообщения:
    15
    Симпатии:
    2
    Не обязательно по API должен иметь возможность получать доступ любой пользователь. Но если это так, по идее может быть имеет смысл скрыть название поля id, если оно названо с именем таблица например если таблица user бывает что id называют user.id или user_id вот в этом случаи может быть есть смысла переименовтаь это поле. Хотя даже название такого поля в API вовсе не означает что столбцы в таблице называются именно так как в API. А касаемо других полей ну name и email это же вовсе не означает что в базе они называются так же, о этом ещё нужно догадаться.
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754
    Ну ТС имел в виду SPA/SSR