Нашел вот такую проверку с SQL инъекциeй на PHP в одном из проектов
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php // Открытие соединения с базой данных $conn = mysqli_connect("localhost", "username", "password", "myDB"); // Получение данных из формы $name = $_POST["name"]; $email = $_POST["email"]; $message = $_POST["message"]; // Проверка наличия данных if ($name && $email && $message) { // Вставка данных в таблицу "messages" $sql = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')"; mysqli_query($conn, $sql); } else { echo "Введите все данные"; } // Закрытие соединения с базой данных mysqli_close($conn); ?> |
Всем привет. Помогите решить проблему. В суде истец показал удостоверенную нотариусом переписку по электронной почте. В переписке есть письмо 2021 года, которое я точно не получал (100%) и которое мне точно не направлялось. Почту всегда по несколько раз в день отслеживаю. Мне надо доказать, что письмо фактически мне не направлялось. Поэтому подскажите, можно ли отправить электронное письмо «задним числом» и можно ли сделать так, чтобы письмо было в отправленных, но фактически не отправлялось. Буду благодарен за помощь, в долгу не останусь.
На собеседовании один кандидат предложил вот такой способ вычисления факториала числа на Python 😁
1 2 3 4 5 6 7 8 9 10 11 12 |
# Плохой код для вычисления факториала числа def factorial(n): if n < 0: return None elif n == 0 or n == 1: return 1 else: result = n while n > 1: result = result * (n - 1) n -= 1 return result |
Как минимум две проблемы здесь
Нашел в одном из проекте вот такой SQL запрос кросс-джойн двух таблиц без явного указания оператора JOIN
1 2 3 4 |
SELECT * FROM orders, customers WHERE orders.customer_id = customers.customer_id AND customers.first_name = 'John' |
Этот запрос выполняет кросс-джойн двух таблиц без явного указания оператора JOIN, что может привести к неожиданным результатам. Кроме того, он не использует оператор WHERE для фильтрации строк, что означает, что он возвращает все строки, удовлетворяющие условию соединения. Это может привести к большому объему данных, из-за которых запрос будет выполняться медленно. Наконец, условие фильтрации для идентификации клиента по имени не учитывает возможность наличия нескольких клиентов с одинаковыми именами в таблице customers.
Недавно наткнулся в одном проекте:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
var count = 0; function increaseCount() { count = count + 1; } function decreaseCount() { count = count - 1; } function updateCount() { if (count >= 10) { document.getElementById('count').style.color = 'red'; } else { document.getElementById('count').style.color = 'black'; } } increaseCount(); increaseCount(); increaseCount(); decreaseCount(); updateCount(); |
Недавно работал с одним проектом и наткнулся на такой код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $con = mysql_connect("localhost", "username", "password"); mysql_select_db("my_database", $con); $qry = "SELECT * FROM user WHERE id = '$id'"; $result = mysql_query($qry); while ($row = mysql_fetch_array($result)) { $f = $row['field1']; $g = $row['field2']; $h = $row['field3']; } mysql_close($con); |
Переменные названия просто ужас, долго пытался понять что за field1, field2, field3. Ощущение что стро по документации или учебнику создавали проект 😂
Здравия всем желающим понюхать эту реальную кучу!
Есть БД, в которую данные заносились на по*** абсолютно.
Пример:
Номер_договора | Номер_сделки | Номер_реализации | Сумма_залупа | Сумма_кастюма | Сумма_второй_палочки_твикс |....|...|...|...|...|
а б в 300 3414 123424
а б в 300 3414 123424
г д е 134 154 17
г д ж 213 3903 125627
г д ж 213 13.151123151 125627
!ЗАДАЧА!
Надо выгрузить таблицу, в которой будут
1. ДИСТИНКТ номер_договора, дата_договора,
2. ДИСТИНКТ номер_сделки, дата_сделки (1 договор = 1 сделка),
3. ЧЕРЕЗ ЗАПЯТУЮ В 1ой ЯЧЕЙКЕ номер_реализации, дата_реализации (в одной сделке их может быть больше 1),
4. Запилить оконную функцию, кейс, или че ***** угодно(я месяц работаю, до этого тыкал сиквел в вузе тока,
поэтому возможно просто не вижу более адекватное решение), которые
будут СУММИРОВАТЬ сумму_залупу, если у нее по 1 договору несколько РАЗНЫХ значений, и другие суммы,
или ВЫБИРАТЬ только одно значение, если они одинаковые по 1 договору.
1, 2, 3 пункты коряво, но разобрался. Зделал)
На 4ом жоско хочется пробить башней стену, вообще не понимаю, как это написать нормально.
Интересно что за значение по умолчанию в Java? 😗
1 2 3 4 5 6 7 8 |
public static int parseInt(String strInt, int defaultValue) { try { return Integer.parseInt(strInt); } catch (NumberFormatException e) { // e.printStackTrace(); } return defaultValue; } |
Нашел такое вот счастье на одном сайте Нет бы добавить общий класс или через запятую указать селекторы, но нет вместо этого пожалуйста:
1 2 3 4 5 6 7 8 9 |
$('#fade').fadeOut() $('#popuprel1').fadeOut() $('#popuprel2').fadeOut() $('#popuprel3').fadeOut() $('#popuprel4').fadeOut() $('#popuprel5').fadeOut() $('#popuprel6').fadeOut() $(".popupbox1").fadeOut() return false; |
Нашел изящный путь удаления цифр из строки на PHP и куча регулярных выражений и видимо человек не знал про [0-9] или \d, в общем выкладываю как было
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $words = preg_replace('/0/', '', $words ); // remove numbers $words = preg_replace('/1/', '', $words ); // remove numbers $words = preg_replace('/2/', '', $words ); // remove numbers $words = preg_replace('/3/', '', $words ); // remove numbers $words = preg_replace('/4/', '', $words ); // remove numbers $words = preg_replace('/5/', '', $words ); // remove numbers $words = preg_replace('/6/', '', $words ); // remove numbers $words = preg_replace('/7/', '', $words ); // remove numbers $words = preg_replace('/8/', '', $words ); // remove numbers $words = preg_replace('/9/', '', $words ); // remove numbers |
Функция какая то 24 на Golang и там таких много 😝
1 2 3 4 5 6 7 8 9 10 11 |
func q24(s string, pos int) { println(s[:pos], ">", s[pos:], "\tstate = q24") time.Sleep(time.Second) if s[pos] == '0' { q24(s, pos+1) } else if s[pos] == 'B' { q25(s, pos+1) } else { println("Halted") } } |
Вот такая sub функция на golang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
func Sub(n int, m int) { var s string = "B" if n > 0 { s += "X" } for i := 0; i < n; i++ { s += "0" } s += "1" if m < 0 { s += "Y" m *= -1 } else if m > 0 { s += "X" } for i := 0; i < m; i++ { s += "0" } s += "B" q0(s, 1) } |
Мастер анимации на Javascript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
setTimeout("$('#text_home').html('s_')", "0"); setTimeout("$('#text_home').html('so_')", "150"); setTimeout("$('#text_home').html('sof_')", "300"); setTimeout("$('#text_home').html('soft_')", "450"); setTimeout("$('#text_home').html('softw_')", "600"); setTimeout("$('#text_home').html('softwa_')", "750"); setTimeout("$('#text_home').html('softwar_')", "900"); setTimeout("$('#text_home').html('software_')", "1050"); setTimeout("$('#text_home').html('software_')", "1200"); setTimeout("$('#text_home').html('softwar_')", "1350"); setTimeout("$('#text_home').html('softwa_')", "1500"); setTimeout("$('#text_home').html('softw_')", "1650"); setTimeout("$('#text_home').html('soft_')", "1800"); setTimeout("$('#text_home').html('sof_')", "1950"); setTimeout("$('#text_home').html('so_')", "2100"); setTimeout("$('#text_home').html('s_')", "2250"); setTimeout("$('#text_home').html('a_')", "2400"); setTimeout("$('#text_home').html('ap_')", "2550"); setTimeout("$('#text_home').html('apl_')", "2700"); setTimeout("$('#text_home').html('apli_')", "2850"); setTimeout("$('#text_home').html('aplic_')", "3000"); setTimeout("$('#text_home').html('aplica_')", "3150"); setTimeout("$('#text_home').html('aplicac_')", "3300"); setTimeout("$('#text_home').html('aplicaci_')", "3450"); setTimeout("$('#text_home').html('aplicacio_')", "3600"); setTimeout("$('#text_home').html('aplicacion_')", "3750"); setTimeout("$('#text_home').html('aplicacione_')", "3900"); setTimeout("$('#text_home').html('aplicaciones_')", "4050"); setTimeout("$('#text_home').html('aplicaciones_')", "4200"); setTimeout("$('#text_home').html('aplicacione_')", "4350"); setTimeout("$('#text_home').html('aplicacion_')", "4500"); setTimeout("$('#text_home').html('aplicacio_')", "4650"); setTimeout("$('#text_home').html('aplicaci_')", "4800"); setTimeout("$('#text_home').html('aplicac_')", "4950"); setTimeout("$('#text_home').html('aplica_')", "5100"); setTimeout("$('#text_home').html('aplic_')", "5250"); setTimeout("$('#text_home').html('apli_')", "5400"); setTimeout("$('#text_home').html('apl_')", "5500"); setTimeout("$('#text_home').html('ap_')", "5700"); setTimeout("$('#text_home').html('a_')", "5850"); |