- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
function sanitizeString($var)
{
trim($var);
strip_tags($var);
htmlspecialchars($var);
stripslashes($var);
mysql_real_escape_string($var);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+66
function sanitizeString($var)
{
trim($var);
strip_tags($var);
htmlspecialchars($var);
stripslashes($var);
mysql_real_escape_string($var);
}
Защита от SQL инъекции - экранирование, http://www.askdev.ru/q/10604
+65
<?php
$str = file_get_contents('source.txt');
$out = '';
$len = strlen($str);
$word = '';
$bad_words = array(
'Аноним',
'Птн',
'Сен',
'Ответ',
'Пропущено',
'ответов',
'изображениями',
'Нажмите',
'jpg',
'png',
'gif',
'Кб',
'x',
);
$str=str_replace('Нажмите "ответ", чтобы увидеть тред целиком.','', $str);
$str=str_replace('Показана уменьшенная копия, оригинал по клику.','', $str);
$str=str_replace('Пропущено ','', $str);
$str=str_replace(' ответов, из них ','', $str);
$str=str_replace(' с изображениями.','', $str);
$str=str_replace('Аноним','', $str);
$str=str_replace('Ответы','', $str);
$str=str_replace('Ответ','', $str);
$str=str_replace('Птн','', $str);
$str=str_replace('Сен','', $str);
$str=str_replace('jpg','', $str);
$str=str_replace('png','', $str);
$str=str_replace('gif','', $str);
$str=str_replace('Кб','', $str);
$str=str_replace('x','', $str);
for ($i = 0; $i < $len; $i++) {
$c = $str[$i];
if (($c >= 'a') && ($c <= 'z') ||
($c >= 'A') && ($c <= 'Z') ||
($c >= 'а') && ($c <= 'я') ||
($c >= 'А') && ($c <= 'Я')
) {
$word.=$c;
} else {
if ($word != '') {
$out.=strtolower($word) . "\r\n";
}
$word = '';
}
}
file_put_contents('dictonary.txt', $out);
?>
Из чьей-то пхп-вайпалки для известной имиджборды.
Генерирует словарь слов из текста, взятого с помощью Ctrl+C с любой из страниц борды.
+59
<table>
<tr><th colspan="2">Если вы еще не зарегистрированы:</th></tr>
<tr><td colspan="2"><a href="/registration.php">Перейдите к регистрации на сайте</a></td></tr>
</table>
Глубокий смысл в наличии colspan="2" постичь никак не получается...
+133
static inline int getKey(short int high, short int low)
{
return (((int)high)<<16)+(int)low;
}
static inline short getHigh(int pKey)
{
return (short)(pKey>>16);
}
static inline short getLow(int pKey)
{
return (short)(pKey&0x00000000FFFFFFFF);
}
вот так. getHigh() оставил для полноты.
−117
Если Номенклатура1 <> Номенклатура2 Тогда
Запрос=Новый Запрос("ВЫБРАТЬ
|РаспределениеМатериаловПоМенеджерам.ЗаявкаНаМатериалы,
|РаспределениеМатериаловПоМенеджерам.Материал
|ИЗ
|РегистрСведений.РаспределениеМатериаловПоМенеджерам КАК РаспределениеМатериаловПоМенеджерам
|ГДЕ
|РаспределениеМатериаловПоМенеджерам.Материал = &Материал");
Запрос.УстановитьПараметр("Материал",Номенклатура1);
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
МЗСтарой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
МЗСтарой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
МЗСтарой.Материал=Номенклатура2;
МЗСтарой.Прочитать();
МЗНовой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
МЗНовой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
МЗНовой.Материал=Выборка.Материал;
МЗНовой.Прочитать();
Если МЗСтарой.Выбран() тогда
МЗНовой.Удалить();
Иначе
МЗНовой.Материал=Номенклатура2;
МЗНовой.Записать(Истина);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Вот такой код сделан был франчем, который потребовал за это еще и 3 часа оплаты)))) Одно только непонятно почему при обращении к регистру нельзя было использовать отбор это же гораздо проще и быстрее и кода меньше
+77
//...
final AudioClip bar3Note = new AudioClip(Xylophone.class.getResource(THIRD_SOUND_NODE).toString());
final AudioClip bar4Note = new AudioClip(Xylophone.class.getResource(FOURTH_SOUND_NODE).toString());
final AudioClip bar5Note = new AudioClip(Xylophone.class.getResource(FIFTH_SOUND_NODE).toString());
//...
// ... Далее еще плачевнее...
bar2Group.setOnMousePressed(new EventHandler<MouseEvent>()
{
@Override
public void handle(MouseEvent me)
{
bar2Note.play();
}
});
bar3Group.setOnMousePressed(new EventHandler<MouseEvent>()
{
@Override
public void handle(MouseEvent me)
{
bar3Note.play();
}
});
bar4Group.setOnMousePressed(new EventHandler<MouseEvent>()
{
@Override
public void handle(MouseEvent me)
{
bar4Note.play();
}
});
// ...
// Ну и, наконец, полный П.З..Ц
bar1Group.setEffect(l);
bar2Group.setEffect(l);
bar3Group.setEffect(l);
bar4Group.setEffect(l);
bar5Group.setEffect(l);
bar6Group.setEffect(l);
bar7Group.setEffect(l);
bar8Group.setEffect(l);
Внедрение JFX без элементарных циклов хорошим не закончится.
−35
// For the probably_koi8_locales we have to look. the standard says
// these are 8859-5, but almost all Russian users use KOI8-R and
// incorrectly set $LANG to ru_RU. We'll check tolower() to see what
// it thinks ru_RU means.
// If you read the history, it seems that many Russians blame ISO and
// Perestroika for the confusion.
...
static QTextCodec * ru_RU_hack(const char * i) {
QTextCodec * ru_RU_codec = 0;
#if !defined(QT_NO_SETLOCALE)
QByteArray origlocale(setlocale(LC_CTYPE, i));
#else
QByteArray origlocale(i);
#endif
// unicode koi8r latin5 name
// 0x044E 0xC0 0xEE CYRILLIC SMALL LETTER YU
// 0x042E 0xE0 0xCE CYRILLIC CAPITAL LETTER YU
int latin5 = tolower(0xCE);
int koi8r = tolower(0xE0);
if (koi8r == 0xC0 && latin5 != 0xEE) {
ru_RU_codec = QTextCodec::codecForName("KOI8-R");
} else if (koi8r != 0xC0 && latin5 == 0xEE) {
ru_RU_codec = QTextCodec::codecForName("ISO 8859-5");
} else {
// something else again... let's assume... *throws dice*
ru_RU_codec = QTextCodec::codecForName("KOI8-R");
qWarning("QTextCodec: Using KOI8-R, probe failed (%02x %02x %s)",
koi8r, latin5, i);
}
#if !defined(QT_NO_SETLOCALE)
setlocale(LC_CTYPE, origlocale);
#endif
return ru_RU_codec;
}
Снова Qt. На этот раз src/corelib/codecs/qtextcodec.cpp и борьба бобра с ослом русских с буржуинскими стандартами ISO.
+68
String townName = (params.get("town") == null ? "" : params.get("town").toLowerCase());
List<String> towns = new LinkedList();
int i = 0;
for (Town town : service.getTowns()) {
if (townName.length() > 0) {
if (town.getName().toLowerCase().startsWith(townName)) {
towns.add(town.getName());
i++;
}
} else {
towns.add(town.getName());
i++;
}
if (i == 10) {
break;
}
}
наверное в тот день sql меня достал
−104
if ($key eq $default_key){
my $author = $default_author;
if ($release){
if (length $release <= $max_release){
if (length $description <= $max_description){
if ($filename){
if (clearfn(\$filename) eq 1){
if (! -e "$files_dir/$filename"){
$release = clear($release);
$description = clear($description);
$description = bb($description);
open FILE, '>>db.txt' or die $!;
print FILE "$release\t$filename\t$description\t$author\t" . ftime() . "\n";
close FILE;
open FILE, ">$files_dir/$filename" or die "$!";
binmode FILE;
while (<$filehandle>){
print FILE;
}
close FILE;
$result = 'Файл успешно добавлен!';
rss();
}
else {
$result = 'Ошибка: Файл с таким именем уже загружен!';
}
}
else {
$result = 'Ошибка: Недопустимое расширение файла!';
}
}
else {
$result = 'Ошибка: Нет файла!';
}
}
else {
$result = "Ошибка: В описании должно быть не более $max_description символов!";
}
}
else {
$result = "Ошибка: В названии должно быть не более $max_release символов!";
}
}
else {
$result = 'Ошибка: Нет названия!';
}
}
else {
$result = 'Ошибка: ';
}
Писал паскалеребенок
+108
public sbyte GetSByte(int i)
{
IMySqlValue v = GetFieldValue(i, false);
if (v is MySqlByte)
return ((MySqlByte)v).Value;
return ((MySqlByte)v).Value;
}
Вытащил это "чудо" когда ковырялся в сырцах MySQL .NET Connector-а