Опять не подходит потому что куки могут украсть.Откуда вы такие специалисты по безопасности беретесь?..
Вопрос остаётся - как реализовать нормальный и безопасный способ для такой функции, чтобы больше не приходилось использовать другие варианты после каждой очередной жалобы на взлом?Взлом через уведенную куку входит в топ 5 малореальных сценариев взлома, если у вас есть хоть какая-то защита от XSS.
Хранить IP последнего входа в аккаунт? Идея неплохая, но если каким-то магическим образом БД взломают, то все айпи попадут нехорошим людям.Оу, вас это больше всего расстраивает? Учитывая что 80% траффика сейчас идет через мобильные сети, айпи будет разниться при каждой сессии авторизации. И в данном случае вероятность такого взлома вы почему-то оцениваете практически как "магию", в то время как доступ к кукам пользователя у вас на уровне "ну, это точно случится, и скорее всего раньше, чем позже, любой может там гулять как у себя дома"...
Подскажите пожалуйста как сохранить модель Doctors как авторизованного пользователя?
Всем привет. Хочу сделать пошаговую регистрацию на сайте. Как бы это сделать правильнее?Нет рецепта для общего случая. Всегда есть нюансы, если вы делаете что-то чуть в сторону от классики.
1. После каждого шага сохранять в БД? Много запросов бессмысленныхОго, много это сколько? И почему бессмысленных? Вы же осмысленные данные туда пишете?
У кого, какое мнение? Где какие подводные камни/нюансы?Мнение: С таким описанием нихрена не посоветуешь. По конкретным шагам можно что-то обсуждать.
требования к джунам выросли, кол-во откликов от чуваков, прошедших трёхмесячные курсы скиллбокса, просто зашкаливает.Так и рынок взрослеет, раньше программирование было сродни шаманству, в институте учили азам, из учебников - документация, хорошо если на английском, а дальше старшие товарищи тебе объясняли как работает эта большая черная штука с зеленым монитором. Сейчас сфера как раз в том состоянии когда работы много, местами очень много, а работников с уровнем "сел и работает" кот наплакал, а джунов больше учить надо, чем ждать с них профита, так как обучаемость вещь ограниченная, ну и кроме того теперь вместо одной большой черной штуки их целый зоопарк, каждая контора молится на свой большой и черный набор технологий... То есть самый выгодный сотрудник - мифический "твердый мид", уже умеет делать что говорят, но стоит все еще не как сеньор.
надеюсь что к моменту моего 3-4 курса (2026-2027) ситуацию с наймом как минимум не усугубитсяСитуация будет усугубляться с каждым годом, в плане того что спецов так быстро готовить просто не реально, по крайней мере массово, по этому дефицит кадров будет только расти.
Как борются с взломом нейросетей?Никак, так как взлом означает изменение функциональности, а в вашем описанном случае ничего не выходит за рамки функционала софта, о чем ниже.
В нашей же реальности есть автомобиль Тесла с автопилотом и подтвержденный факт что люди нарисовав левую разметку вызвали попадание машины на отбойник.Во первых - "автопилот" 2 уровня, то есть по сути адаптивный круиз-контроль, никак не тянущий на полноценное решение для распознавания ошибок в дорожной разметке. Во вторых это не есть нарушение работы нейросети, она натренирована соблюдать разметку и делает это хорошо. Это все равно что взломать деревообрабатывающий станок, сунув в него лом вместо полена, результат будет такой же нестандартный, как и вводимый материал. Кроме того, замечу что уровни автономности определяют так же и юридические аспекты ответственности, так например уровень автономности от 1 до 3 предполагает ответственность водителя за все правонарушения и аварии, в то время как уровни 4 и выше уже выносят ответственность за все последствия на производителя.
Как борются с этим явлением?Опи*дюливают товарищей, подвергающих опасности участников дорожного движения, намеренно изменивших разметку участка трассы, подвергнув опастности участников дорожного движения. Так то и человек может в отбойник улететь в таком случае, если следит за дорогой долго и монотонно. Они бы еще рельсы трамвайные под откос переложили и жаловались что трамвай небезопасный транспорт.
$q = "INSERT INTO post(author, date_p, text_p) VALUES ('$author', '$datep', '$text_content')";
// ";" в одиночных запросах не ставится, а текстовые значения обрамляются кавычками
var_dump($q); //смотрим глазками, проверяем в консоли
$q = "INSERT INTO post(author, date_p, text_p) VALUES (?, ?, ?)";
//никогда не лезем в бд без подготовленных выражений!
$st = $pdo->prepare($q);
$sth->execute([$author, $datep, $text_content]);
Мне нужно что-бы функция вернула корни уравнения в виде массива.Она возвращает
Однако я получаю пустоту.Однако не получаете
Почему?Скорее всего вы подразумевали не "получение" а "вывод". Но никакого вывода на экран вы не используете.
Не работает return PHP. Ничего не выводит на экран, что делать?Формально ответ - по тому что "получение"/"возвращение" и "вывод" абсолютно разные вещи.
Мне нужно аргументировать ответ, но я не знаю как ответить правильно.Очень просто: Так как проверка отнимает процессорное время, то экономия все равно будет липовой, вместо памяти потратится ресурс процессора. Сколь ни будь значительной экономии это не даст ни в том, ни в другом случае, точнее экономия будет в случае отсутствия проверки и существования переменной, что будет происходить скорее всего чаще чем несуществование переменной, ну или по крайней мере в каком-то числе случаев, в то время как проверка будет осуществляться всегда.
SELECT DISTINCT tt.term_id
FROM wp_term_relationships AS tr
JOIN wp_term_taxonomy AS tt
ON tr.term_taxonomy_id = tt.term_taxonomy_id
JOIN wp_terms AS t
ON tt.term_id = t.term_id
WHERE tr.object_id IN (
SELECT p.ID
FROM wp_posts AS p
JOIN wp_term_relationships AS tr
ON p.ID = tr.object_id
JOIN wp_term_taxonomy AS tt
ON tr.term_taxonomy_id = tt.term_taxonomy_id
JOIN wp_terms AS t
ON tt.term_id = t.term_id
WHERE p.post_type = 'product'
AND p.post_status = 'publish'
AND tt.taxonomy = 'product_cat'
AND t.term_id = '2961'
)
AND tt.taxonomy LIKE 'pa_%';
SELECT m.*, u.login, i.img
FROM messages m
LEFT JOIN users u
ON m.to_user_id = u.id
LEFT JOIN image i
ON m.to_user_id = i.obj_id
WHERE m.date > :lastdate # надо выбирать все что позже уже полученных сообщений
AND image.obj_type = 'user'
AND m.from_user_id = :fid # айди "от юзера"
AND m.to_user_id = :tid #айди "к юзеру"
ORDER BY m.date # по возрастанию все старше последнего полученного