![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| SergV |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Привет! Создал новую тему только потому, что первая тема, была под старый вариант движка, а здесь будут другие вопросы.
После полтора года пользования первоначальным движком, решил переписать его по новой, в более правильных тонах, так сказать. За неделю накатал двиг с нуля, вроде учтя всё что нашёл в сети по защите сайтов, и прочее. Но есть ещё некоторые вопросы по доработке и защите. 1. В общем, при создании мини галереи, столкнулся с проблемой передачи параметров через $_POST в осла. Во всех браузерах кроме IE 8(возможно и в старых тоже, но не проверял) всё работает, то есть такая конструкция как
в лисе, опере, хром и других браузерах, передаёт в пост содержимое value, а в осле название кнопки. Это конечно не критично, я уже обощёл эту проблему через сессию, но просто хотелось бы знать, что за геморой такой? Это только у меня что глючит в осле, или это у всех так. 2. Хочу использовать в качестве базы SQLite базу, она вполне меня устраивает, так как для моего сайта всех наворотов MySQL не нужно. Вопрос, лишь в том, насколько она надёжна в отношении взлома? На данный момент все тексты в текстовых файлах. 3. Что я упустил из вида, для безопасности сайта? На данный момент сайт работает следующим образом. В index файле я отправляю в проверку введённой строки, которая имеет вид ЧПУ, с помощью регулярки режу и проверяю на соответствие данных из заранее известных параметров. То есть в массиве содержатся все названия каталогов (cat=xxx) и артиклей (art=xxx), это реально, так как страниц чуть больше десятка. И если полученное не соответствует, то назад на главную. Дальше в файле .htaccess перенаправляю на главную при возникших ошибках, чтобы не показать их в браузере. Плюс, вставил такое :
Где откопал не помню, насколько понял, это для редиректа в случае если кто пытается поломать. Хотя, я так построил структуру сайта, что при любом неправильно введённом адресе, будет переход на главную, поэтому может это и не нужно. В общем, если адрес правильный, только тогда подключается всё необходимое. Подключка идет через первоначальную провеку на существование данного файла, где основной путь берётся из конфиг файла, то есть жестко задан. Глобальных переменных не использую, и в пхп register_globals = Off Что я упустил, как можно проверить сайт на взлом? |
||||
|
|||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
1. hidden-поля.
3. Ты упустил: XSS в коде выше. Бред в .htaccess про MS. А еще можно юзать MVC-арихитектуру, с ней ПРОЩЕ. |
|||
|
||||
| SergV |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
По hidden-полям я знаю, у меня просто немного другая ситуация, так как таких кнопок создаётся много, и с hidden-полями придётся тоже столько же их делать, что не оптимально.
Это к чему, к тому что типа глючная по самое не хочу? По XSS действительно упустил, бум разбираться, что к чему.
Ну..., я и предполагал что бред какой то. Судя по записи, это типа при прямом обращении там к диску и тд., типа иди к MS. На месте MS может конечно быть другой адрес. Вот только нужен ли какой то адрес, или такие запросы можно по другому обработать, и вообще, нужно ли это вообще?
Ну.., у меня вообще то так и есть, как я предполагаю. Отдельный файл контролера, который всё проверяет и передаёт данные другим файлам, отвечающим за информацию, и отдельно шаблон сайта, который берёт эту инфу и выводит её. Всё разбито на модули, и если модули не нужны в данный момент, они не подключаются. Это сообщение отредактировал(а) SergV - 5.7.2009, 15:45 |
||||||
|
|||||||
| nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
sqlite - качественный продукт.
|
||||
|
|||||
| SergV |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Ясно. Я просто спросил, потому что с базами мало знаком, в основном с MySQL при работе с джумлой. Ну а так как мне для сайта с десяток страниц и мини галереей как таковая серверная база не нужна, вот и пал выбор на sqlite, так как база в текстовом файле, всё лучше чем мудрить с xml файлами, в качестве базы данных.
Ну..., может быть. Но я в любом случае уже решил уйти от этого варианта, и передавать данные о выбранном рисунке через куки или сессию, или через $_GET быстрей всего. |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Я бы не рекомендовал заменять mysql на sqlite. Я просто не вижу аргументов не пользоваться mysql. А аргументов против - предостаточно.
При возникающих ошибках не стоит перенаправлять на главную, лучше честно отдавать 404. Про button не знаю - в HTML не специалист, но почему бы не использовать стандартный submit? |
|||
|
||||
| krundetz |
|
||||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Не просто перенаправлять к 404 а если ты используешь MVC то сделать контролер отвечающий за отоброженние несуществующих страниц. SergV, возможно из за того что твоя конструкция осликом переводиться вот в такой вид
|
||||
|
|||||
| SergV |
|
||||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Аргумент, в пользу того, что не все хост услуги имеют базу данных, а платить за хост, даже к примеру полтора евро в месяц, для сайта-визитки в пару десятков страниц, вместо к примеру 50 центов, нет смысла. Конечно для такого сайта можно и текстовую базу использовать, но sqlite база думаю будет всё же лучше.
А какой смысл в показе ошибки, если на сайте с десяток страниц, и заблудиться можно только хакеру, которого не интересует содержимое, а только поиск этих ошибок, чтобы знать что дальше делать. Еще к примеру ошибку 404 конечно можно отдельно обработать, но что касается остальных, достаточно того, что при пере направлении ошибка запишется в лог файл. А нормальному пользователю, при возврате на главную, можно просто сообщить, что он ввёл неправильный адрес.
Да тут ситуация была такая, что мне под эскизом нужна простая надпись, а передавать название эскиза, и чтобы это было одной кнопкой, а не кнопка + хиден поле. Так или иначе, я уже отказался от этой идеи, как и вообще от передачи параметров через пост.
Я уже выше написал, не вижу смысла в этом. Если бы сайт был рассчитан на большое количество статей, с частым обновлением, то это было бы уместно, на случай отключения или удаления какой то статьи. В моём случае хватит яваскрипта всплывающего сообщения, о причине возврата на главную.
Может быть, щас сказать уже не могу, так как удалил из кода элементы формы. Вопрос в догонку. Можно ли как то отловить передачу файла с моего компа на хост. Ну типа я закачиваю на сайт по фтп, какой то файл, к примеру файл мини админки, делаю что надо в админке, и выходя из админки файл удаляется. Вопрос, можно ли както это проследить и перехватить? Знаю что это гемор, и проще админку держать на сайте, но содержимое сайта будет меняться очень редко, и пара минут на закачку админки на сайт, мне не играет роли. Но сама админка уже не будет доступна не для кого кроме меня, и не потребуется авторизации и прочего. |
||||||||||
|
|||||||||||
| nerezus |
|
||||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
|
||||||
|
|||||||
| krundetz |
|
||||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
1.мы вроде движок обсуждаем, а не сайт визитку 2.как быть с удаленными страницами и поисковыми системами 3.как быть с неверным вводом адреса страницы пользователем?
нормальный пользователь при поподание на главную если он знает как она выглядит может не обратить внимания на сообщение, следовательно подумает что это сайт глючный а не он производит неправильные действия
угу а то что некоторые пользователи отключают javascript ты учитываешь? Это сообщение отредактировал(а) krundetz - 7.7.2009, 12:47 |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
100%. Причем нет смысла и обсуждать. Думаю, что у большинства участников рабочее время, потраченное на обсуждение "гениальной" идеи с "закачиваемой админкой" стоит больше, чем "хостинг" для этого сайта на месяц. Учитывая отношение автора к той информации, которой с ним делятся специалисты, лично я пойду, поищу более адекватную аудиторию. Годика через два, возможно, будет, о чем поговорить. |
|||
|
||||
| SergV |
|
||||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
nerezus
Да дело в общем то не в том, есть или нет базы на хосте, это я к примеру привёл, насчет что если нет мускула. Я просто подумал, если sqlite в пхп уже влючен, то вероятно даже если мускула нет, то sqlite должна быть. Но тут ты прав, если хостер не даёт базы, то нет гарантии что sqlite он тоже не отключил.
А кто говорит что жалко или не жалко, у меня два хоста, за один плачу 80 евро в год, за другой 20 евро. Вот только разница в том, что второй имеет куда больше возможностей, и куда стабильней чем первый. И оба хоста имеют по гиктару места, и базу данных. Суть про стоимость была в том, что я думал в движке сделать возможность работы без базы, если таковой нет на хосте, а не потому что кому то жалко. krundetz
1. А что, сайт визитка не может быть на движке сделана? Я разве про нтмл сайт говорю? 2-3. Ну.., поэтому поводу, тут конечно так, я об этом когда предыдущий пост писал не подумал. Уже переделал с перехода на главную, на страницу ошибки. А по ява скрипту, я просто привёл пример, я всегда дублирую сообщение, на пхп и на ява, на случай если ява отключен. Ипатьев
Я разве кого то уговариваю чтобы тратили на меня рабочее время? Что за бред не понимаю. Я спросил, мне ответили, я попытался аргументировать, но это не значить что я не принял ответы к сведению. Моё последнее сообщение было в 11:30, судя по форуму, сейчас у меня седьмой час, и весь день я занимался работой над движком, с учетом приведённых ответов, в том числе и по твоему ответу -
В общем, не кто не заставляет тебя отвечать, если нет желания. Я дизайнер а не программист, я не могу знать всех тонкостей, я стараюсь изучать пхп, и стараюсь искать ответы сам, и лишь иногда задаю вопросы. Если ты считаешь что мои вопросы, это пустое время провождения..., что же, тогда буду делать как всегда, сам разбираться, чтобы не беспокоить таких крутых специалистов. -------------------------------------------------------------------------------------------- Что же касается админки, то чего тут такого, если один главный файл будет подгружаться. Да и вообще, это была просто идея, и меня интересовало не столько принцип подгрузки файла, как и сама админка в таком виде, сколько возможность перехвата загружаемых файлов на сервер. Что же касается самого движка, я делаю не какую то там одноразовую страничку, а нормальный модульный мини CMS, который можно будет использовать в разных проектах, от простых сайтов визиток, до мини блогов и порталов. А мускул, тут я не очень силён, поэтому и хотел как то обойти его, но как уже понял, пытаясь делать на хмл и текстовых файлах, без базы не обойтись, поэтому и думал про sqlite. Делаю данный двиг, не потому что нет хороших, просто хочу понять принцип работы других, да и сделать для себя двиг таким, чтобы он был максимально удобным в обращении, а не как большинство других, где даже с подробным мануалом голову сломаешь, пока изучишь. |
||||||||||
|
|||||||||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
именно потому что сайт визитка как и что то более крупные сайты строятся на движке мы и говорим про него. Я имел в виду что лучше счас предусмотреть возможность, чем потом когда движок будет полностью готов переделывать половину функционала, чтобы встроить комфортное и информотивное для посетителей отображение захода на несуществующию страницу. Тем более вот ты и сам говоришь что даже порталы собрался делать на нем: вопрос необходимости и финансовых возможностей того кто это будет делать. админка в первую очередь нужна для удобства, закачивание админки на сайт с последующим ее удалением не слишком удобно, да и как ты себя обезапасишь от того что ниразу не забудешь удалить админку? может тоит глянуть в сторону удаленного администрирования, тоесть админка на локалке, соедеиняеться с сервером и говорит что необходимо поменять добавить и так далее? |
|||
|
||||
| SergV |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Это так. Я просто сам запутался и других запутал. Всё дело в том, что в данный момент я разделил двиг на два варианта, то есть один вариант это основной, а второй урезанный, который мне надо на быструю доделать без лишнего, что бы сайт на новый хост положить, и переносить домен со старого хоста. Просто я старый хост закрываю, и на новом хотелось бы иметь уже новый двиг, но в полном варианте я просто его не успею сделать. От сюда и пошли эти вопросы про админку по фтп и прочее.
Ясно, иными словами это мало вероятно.
Ну.., тут предполагалось что в файле контролера будет функция, которая будет отвечать за удаление, типа нажал выйти из админки, и функция удалила файлы админки. Но в любом случае, так или иначе я уже наврятле успею сделать админку даже в таком варианте да урезанного двига, поэтому оставлю редактирование текстовых файлов контента через фтп в блокноте, пока не сделаю полную версию двига. А что касается удалённого администрирования, то здесь хотелось бы по подробней. Я уже давно об этом подумывал, но пока так и не добрался до этого вопроса, как такое реализовать. Одно дело к примеру через фтп в блокноте отредактировать файл, а совсем другое сделать полноценную админку на локалке. Я как понимаю, для этого на локале должен быть полноценный сервак, и сервак должен быть виден из сети. Есть где что почитать по этой теме, а то я сложно пока себе представляю как такое реализовать. Если к примеру поставить апач на винде не проблема, и сделать его видимым из сети это не проблема, то организовать взаимосвязь двух серверов на предмет управления содержимым сайта, одного другим, это уже туманно. |
||||||
|
|||||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Казалось бы, зачем админке нужно, чтобы ее видели из сети. Загадка.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |