Всё обо всём

Помощь, ПХП (PHP)

40 234
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Здравствуйте дорогие форумчане. \":smile:\"

Дело такого рода, написал код (рабочий),
хотелось бы услышать, пускай это будет критика, так-как уже мы все привыкли к ней здесь, но чтобы была с разъяснениями почему и как должно быть!!!

Код проверяет и дальше после кода INSERT UPDATE и SELECT в базу

\"\" Показать / Скрыть текст$skype = trim($_POST['skype']);
$skype = iconv('UTF-8','windows-1251',$
skype);
$skype = htmlspecialchars($skype);
$skype = mysql_escape_string($skype);
if (preg_match("/[а-я]/i", $skype)){echo 'Логин Skype не может содержать кирилицу'; exit();}
if (empty($skype)){ $skype = '';}else{
if (strlen($skype) < 6){echo 'Длина логина должна составлять от 6 до 32 символов.'; exit();}
if (strlen($skype) > 32){echo 'Длина логина должна составлять от 6 до 32 символов.'; exit();}
}
$icq = intval( ( int ) $_POST['icq']);
if (!is_numeric($icq)) {echo 'Указан неверный номер ICQ'; exit();}
if (empty($icq)) $icq = '';

$podpis = trim($_POST['podpis']);
$podpis = iconv('UTF-8','windows-1251',$
podpis);
$podpis = htmlspecialchars($podpis);
$podpis = mysql_escape_string($podpis);
if (empty($podpis)) $podpis = '';
ПС: а главный вопрос безопасно ли так!
Ответ на: MARIOS · 9 лет назад
“Здравствуйте дорогие форумчане. <!--smile:smile--><img style=\"vertical-align: middle;border: none;\" alt=\":smile:\" src=\"https://sfb.su/engine/data/emoticons/smile.gif\" /><!--/smile--> <br /><br...”
user avatar
14 лет назад
Сообщений: 276
9 лет назад
$icq = intval( ( int ) $_POST['icq']);
зачем два раза приводишь к целочисленому значению? Хватит чего то одного из этого!

mysql_escape_string($podpis);
а разве не лучше ли?
mysql_real_escape_string($podpis);
Ответ на: WmRush · 9 лет назад
“$icq = <b>intval</b>( ( <b>int </b>) $_POST[&#039;icq&#039;]);<br />зачем два раза приводишь к целочисленому значению? Хватит чего то одного из этого!<br /><br /><b>mysql_escape_string</b>($podpis);<b...”
user avatar
14 лет назад
Сообщений: 287
9 лет назад
.del
Ответ на: Nikes · 9 лет назад
“.del”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
ra4ok14,
ПонялNikes,
Не критика а вопрос, подпись не проверяешь?
Ответ на: MARIOS · 9 лет назад
“<b>ra4ok14</b>,<br />Понял<b>Nikes</b>,<br />Не критика а вопрос, подпись не проверяешь?”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
MARIOS,
Nikes,
грамотеи, что один, что второй, разве в регулярках длина значения не указывается? а?
и зачем вам эли лишние строки:
case (strlen($skype) < 6)
case (strlen($skype) > 32)

$data = trim($data)
$data = iconv('UTF-8','windows-1251',$
data);
$data = htmlspecialchars($data);

а нельзя разве сделать $data = htmlspecialchars(trim($data));
????????

туда даже iconv можно запихнуть
не знаю зачем вы делаете лишние строки
Ответ на: ByFly · 9 лет назад
“<b>MARIOS</b>,<br /><b>Nikes</b>,<br />грамотеи, что один, что второй, разве в регулярках длина значения не указывается? а?<br />и зачем вам эли лишние строки:<br />case (strlen($skype) &lt; 6)<br />c...”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Цитата: ByFlyграмотеи
\":wink:\" Цитата: ByFlyразве в регулярках длина значения не указывается?
давай так ты мне регулярку а я тебе 50р., я регулярку не знаю \":fellow:\"
Ответ на: MARIOS · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->грамотеи<!--QuoteEnd--></div><!--QuoteEEnd--><br /> <!--smile:wink--><img style=\"vertical-...”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
MARIOS, по рукам, ща, сек, накидаю быстро
Ответ на: ByFly · 9 лет назад
“<b>MARIOS</b>, по рукам, ща, сек, накидаю быстро”
user avatar
13 лет назад
Сообщений: 1859
9 лет назад
Цитата: ByFlyа нельзя разве сделать $data = htmlspecialchars(trim($data));
можно
Ответ на: Pretorian · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->а нельзя разве сделать $data = htmlspecialchars(trim($data));<!--QuoteEnd--></div><!--Quote...”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
Моя регулярка для использования логина
Правим немного под твой ник скайпа


if(!preg_match("|^[a-z0-9]{6,3
2}+$|i", $_POST['skype'])){
echo "Разрешено использовать только латинские буквы и цифры";
}
Ответ на: ByFly · 9 лет назад
“Моя регулярка для использования логина<br />Правим немного под твой ник скайпа<br /><br /><!--code1--><div class=\"scriptcode\"><!--ecode1--><br />if&#40;!preg_match&#40;&#34;|^&#91;a-z0-9&#93;{6,3<br...”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Цитата: ByFlyнакидаю быстро
ток накидай нормально, а то тут срачь розведётся! \":wink:\"
Ответ на: MARIOS · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->накидаю быстро<!--QuoteEnd--></div><!--QuoteEEnd--><br />ток накидай нормально, а то тут ср...”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
Только потом, если прошел POST skype и он содержит правильные символы, делаешь остальные функции типа trim, htmlspecialchars и тд и тп, сможешь это хоть?)
Ответ на: ByFly · 9 лет назад
“Только потом, если прошел POST skype и он содержит правильные символы, делаешь остальные функции типа trim, htmlspecialchars и тд и тп, сможешь это хоть?)”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Цитата: ByFlyравим немного под твой ник скайпа
вот это не понял

у меня любой юзер вбивает скайп, причём мой скайп
Ответ на: MARIOS · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->равим немного под твой ник скайпа<!--QuoteEnd--></div><!--QuoteEEnd--><br />вот это не поня...”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
MARIOS, я тебе накинул регулярку и заменил длину, выставил от 6 до 32 символов, то есть проверка количества символов в самой регуляке
Ответ на: ByFly · 9 лет назад
“<b>MARIOS</b>, я тебе накинул регулярку и заменил длину, выставил от 6 до 32 символов, то есть проверка количества символов в самой регуляке”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Цитата: ByFlyсможешь это хоть?)
сможешь, в первом посту кто писал?
Ответ на: MARIOS · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->сможешь это хоть?)<!--QuoteEnd--></div><!--QuoteEEnd--><br />сможешь, в первом посту кто пи...”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
Цитата: MARIOSу меня любой юзер вбивает скайп, причём мой скайп
то есть?
допустим есть база с данными где содержится и логин скайпа, так?
ты хочешь еще сделать, чтобы если такой логин скайпа уже имелся в базе, то выдавало ошибку, так?
Ответ на: ByFly · 9 лет назад
“<!--QuoteBegin MARIOS --><div class=\"title_quote\">Цитата: MARIOS</div><div class=\"quote\"><!--QuoteEBegin-->у меня любой юзер вбивает скайп, причём мой скайп<!--QuoteEnd--></div><!--QuoteEEnd--><br...”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Цитата: ByFlyто есть?допустим есть база с данными где содержится и логин скайпа, так?ты хочешь еще сделать, чтобы если такой логин скайпа уже имелся в базе, то выдавало ошибку, так?
нет
есть база скайп юзер может записать, поменять или при отправки пустого поля удалить запись вернее записать пустую строку

Pretorian, gemiks
как регулярка?
Ответ на: MARIOS · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->то есть?допустим есть база с данными где содержится и логин скайпа, так?ты хочешь еще сдела...”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
MARIOS, регулярку я тебе сделал, что еще нужно?)
sql запрос составить? или проверки сделать?
Ответ на: ByFly · 9 лет назад
“<b>MARIOS</b>, регулярку я тебе сделал, что еще нужно?)<br />sql запрос составить? или проверки сделать?”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Цитата: ByFlyвыставил от 6 до 32 символов
ну а оповестить что его лог длинный или наоборот не нужно?

Цитата: ByFlyПравим немного под твой ник скайпа
здесь что ты имел в виду!?
Ответ на: MARIOS · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->выставил от 6 до 32 символов<!--QuoteEnd--></div><!--QuoteEEnd--><br />ну а оповестить что...”
user avatar
14 лет назад
Сообщений: 858
9 лет назад
Замени строку эту:

echo "Разрешено использовать только латинские буквы и цифры";


На вот эту:

echo "Разрешено использовать только латинские буквы и цифры, минимальная длина 6 символов, максимальная длина 32 символа!";exit();


P.S. добавил exit() \":wink:\"
Ответ на: ByFly · 9 лет назад
“Замени строку эту:<br /><!--code1--><div class=\"scriptcode\"><!--ecode1--><br />echo &#34;Разрешено использовать только латинские буквы и цифры&#34;;<br /><!--code2--></div><!--ecode2--><br /><br />Н...”
user avatar
12 лет назад
Сообщений: 251
9 лет назад
Цитата: ByFlyP.S. добавил exit()
\":smile:\"
Ответ на: MARIOS · 9 лет назад
“<!--QuoteBegin ByFly --><div class=\"title_quote\">Цитата: ByFly</div><div class=\"quote\"><!--QuoteEBegin-->P.S. добавил exit()<!--QuoteEnd--></div><!--QuoteEEnd--><br /> <!--smile:smile--><img style...”
Ответить