1. Куча / Говнокод #28775

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    procedure TMonThread.FillCommentList;
    var
      HTTP:TIdHTTP;
      URI:TIdURI;
      S, Temp, Link, LastCm:string;
      I, J:Integer;
      Comm:TGComment;
      Post:TGpost;
      LinkList:TstringList;
      CommList:TStringList;
    begin
      LinkList:=TStringList.Create;
      CommList:=TStringList.Create;
      HTTP:=TIdHTTP.Create(nil);
      URI:=TIdURI.Create();
      try
        Temp:='';
        LinkList.Sorted:=True;
        LinkList.Duplicates:=DupIgnore;
        HTTP.UserAgent:=uaRandom;
        URI.Host:='govnokod.ru';
        HTTP.Request.Host:='govnokod.ru';
        HTTP.CookieManager.AddServerCookie('auth=a7dbe7abed9025a9a13ea15baa89a08f',URI); 
        Temp:=HTTP.LoadContent('http://govnokod.ru/comments');
        Temp:=StringReplace(Temp,#13#10,'',[rfreplaceall]);
        Temp:=StringReplace(Temp,#13,'',[rfreplaceall]);
        Temp:=StringReplace(Temp,#10,'',[rfreplaceall]);
        ParseAll('<li class="hentry">',Temp,'<div class="show-code">', LinkList);
        for J:=0 to LinkList.Count-1 do
        begin
          if FCanceled then Exit;
          Link:=ParseStr('<h2>Комментарий к <a rel="bookmark" class="entry-title" href="',LinkList[J],'"');
          HTTP.ConnectTimeout:=60000;
          HTTP.ReadTimeout:=60000;
          Temp:='';
          Temp:=HTTP.LoadContent(Link);
          if HTTP.ContentSize>2000000 then Continue;
          if HTTP.ResponseCode <> 200 then Continue;
          if Pos('halted by an exception', Temp)>0 then Exit;
    
          Post:=TGPost.Create;
          LastCm:=Trim(ParseStr('name="comment', LinkList[J],'"'));
          Post.LastCommentId:=StrToInt(LastCm);
          S:=ParseStr('<a rel="bookmark" class="entry-title" href="http://govnokod.ru/', Temp,'"');
          Post.Number:=StrToInt(S);
          Post.Link:='http://govnokod.ru/'+S+'/';
          S:=ParseStr('<p class="author">',Temp,'</p>');
          S:=ParseStr('</a> <a href="http://govnokod.ru/user/',S,'</');
          Post.Author:=StrAfter('>',S);
          FPosts.Add(Post);
          CommList.Clear;
          ParseAll('<div id="comment-',Temp, '</li>', CommList);
          for I:=0 to CommList.Count-1 do
          begin
            if FCanceled then Exit;
            Comm:=TGComment.Create;
            Comm.Author:=ParseStr('<strong class="entry-author"><a href="http://govnokod.ru/user/',CommList[I],'</strong>');
            Comm.Author:=ParseStr('">', Comm.Author,'<');
            Comm.Text:=ParseStr('<span class="comment-text">',CommList[I],'</span></div>');
            Comm.Text:=DecorateText(Comm.Text);
            //comment is hidded?
            Comm.Hidden:=Pos('<span class="hidden-text">',CommList[I])>0;
            // parse and calculate rating values.
            Temp:=ParseStr('<span class="comment-vote">', CommList[I],'</span>');
            //on count
            S:=Trim(StrAfter('title="',Temp));
            S:=Trim(StrBefore(' ',S));
            Comm.OnCount:=StrToInt(S);
            //against count
            S:=Trim(StrAfter('и ',Temp));
            S:=Trim(StrBefore(' ',S));
            Comm.AgainstCount:=StrToInt(S);
            Comm.Rating:=Comm.OnCount-Comm.AgainstCount;
            S:=ParseStr('class="comment-vote-against" href="http://govnokod.ru/ratings/comment/',Temp,'/');
            S:=Format('http://govnokod.ru/ratings/comment/%s/against',[S]);
            Comm.AgainstLink:=S;
            S:=ParseStr('<a class="answer" href="http://govnokod.ru/comments/', CommList[I],'"');
            S:='http://govnokod.ru/comments/'+S;
            Comm.AnswerLink:=S;
            LastCM:=IntToStr(Post.LastCommentId);
            Comm.Last:=Pos(LastCm, Comm.AnswerLink)>0;
            Post.Comments.AddObject(Comm.Text, Comm);
          end;
        end;
      finally
        CommList.Free;
        LinkList.Free;
        HTTP.Free;
        URI.Free;
      end;
    end;

    (Флудоминусатор) Подгрузка и обработка комментариев из стока.

    DOKTOP_CMErMA, 27 Апреля 2023

    Комментарии (3)
  2. Куча / Говнокод #28683

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    if(pfocus=="Balanced")
    		if(StatRank>=4)
    			if(Age>=4&&Age<=10)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			else
    				Str+=4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			if(Age>=10&&Age<=15)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			else
    				Str+=4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			if(Age>=15&&Age<=20)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			else
    				Str+=4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			if(Age>=20&&Age<=25)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod

    и далее ещё 300 строк такого говна. я не думал, что кроме мемов, ещё когда-нибудь с таким столкнусь

    kcalbCube, 09 Апреля 2023

    Комментарии (806)
  3. Куча / Говнокод #28651

    +10

    1. 1
    Граждане, минуточку внимания!

    Оплачивать сервер нам больше не под силу. До настоящего времени это делали я и админ. Страйкер в данный момент занят поисками более бюджетного хостинга.

    Если кто-то хочет поддержать говнокод на плаву, внесите посильное пожертвование. По понятным причинам реквизиты я приводить не буду.

    За дополнительной инфой: [email protected]

    Lure_Of_Chaos, 26 Марта 2023

    Комментарии (17)
  4. Куча / Говнокод #28646

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    <script type="text/javascript">
    	var reformalOptions = {
    		project_id: 9409,
    		show_tab: false,
    		project_host: "govnokod.reformal.ru"
    	};
    
    	(function() {
    		var script = document.createElement('script');
    		script.type = 'text/javascript'; script.async = true;
    		script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'media.reformal.ru/widgets/v3/reformal.js';
    		document.getElementsByTagName('head')[0].appendChild(script);
    	})();
    </script>
    --------------------------------------------------------------------------------
    Request:
    
    GET http://media.reformal.ru/widgets/v3/reformal.js
    Referer: http://govnokod.ru/
    --------------------------------------------------------------------------------
    Response:
    
    307 Temporary Redirect
    Location: http://r.rrzb.ru/?reg=11&orig=http%3A%2F%2Fmedia.reformal.ru%2Fwidgets%2Fv3%2Freformal.js
    --------------------------------------------------------------------------------

    С каких-то там пор, у недобросовестных провайдеров повелось добавлять на страницу без https свои шуры-муры и рекламные финтифлюшки, но сейчас, некоторые более хитрые провайдеры, пошли ещё дальше.

    Смотрят, значит, они на http страничку, или просто ловят запросы js по http, видят подключаемый javascript и вуаля - подменяют заголовок ответа на 307 Location с новым скриптом со своим содержимым.

    Можете сами посмотреть, если у кого такой вот провайдер, например.
    На этом сайте, по http://govnokod.ru, так и происходит.

    Как с этим бороться?

    Например добавлением атрибута "integrity":
    <script src="http://media.reformal.ru/widgets/v3/reformal.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4 YfRvH+8abtTE1Pi6jizo"></script>

    Но у этого способа, сами понимаете, существуют определённые сложности.

    Второй способ - это добавить к адресу любой get параметр:
    <script src="http://media.reformal.ru/widgets/v3/reformal.js?rand=random"></script>

    Конечно, это вообще не спасёт от подмены через 307 Location, но провайдер по своей методике такие URL пока не трогает.

    istem, 24 Марта 2023

    Комментарии (5)
  5. Куча / Говнокод #28645

    0

    1. 1
    Просто оффтоп #27

    #1: https://govnokod.ru/20162 https://govnokod.xyz/_20162
    #2: https://govnokod.ru/25329 https://govnokod.xyz/_25329
    #3: https://govnokod.ru/25415 https://govnokod.xyz/_25415
    #4: (vanished) https://govnokod.xyz/_25472
    #5: https://govnokod.ru/25693 https://govnokod.xyz/_25693
    #6: (vanished) https://govnokod.xyz/_26649
    #7: https://govnokod.ru/26672 https://govnokod.xyz/_26672
    #8: https://govnokod.ru/26924 https://govnokod.xyz/_26924
    #9: https://govnokod.ru/27072 https://govnokod.xyz/_27072
    #10: https://govnokod.ru/27086 https://govnokod.xyz/_27086
    #11: https://govnokod.ru/27122 https://govnokod.xyz/_27122
    #12: https://govnokod.ru/27153 https://govnokod.xyz/_27153
    #13: https://govnokod.ru/27159 https://govnokod.xyz/_27159
    #14: https://govnokod.ru/27200 https://govnokod.xyz/_27200
    #15: https://govnokod.ru/27237 https://govnokod.xyz/_27237
    #16: https://govnokod.ru/27282 https://govnokod.xyz/_27282
    #17: https://govnokod.ru/27319 https://govnokod.xyz/_27319
    #18: https://govnokod.ru/27380 https://govnokod.xyz/_27380
    #19: https://govnokod.ru/27500 https://govnokod.xyz/_27500
    #20: https://govnokod.ru/27607 https://govnokod.xyz/_27607
    #21: https://govnokod.ru/27951 https://govnokod.xyz/_27951
    #22: https://govnokod.ru/28076 https://govnokod.xyz/_28076
    #23: https://govnokod.ru/28266 https://govnokod.xyz/_28266
    #24: https://govnokod.ru/28373 https://govnokod.xyz/_28373
    #25: https://govnokod.ru/28474 https://govnokod.xyz/_28474
    #26: https://govnokod.ru/28563 https://govnokod.xyz/_28563

    nepeKamHblu_nemyx, 22 Марта 2023

    Комментарии (664)
  6. Куча / Говнокод #28636

    0

    1. 1
    Пиздец-оффтоп #68

    #38: https://govnokod.ru/27833 https://govnokod.xyz/_27833
    #39: https://govnokod.ru/27862 https://govnokod.xyz/_27862
    #40: https://govnokod.ru/27869 https://govnokod.xyz/_27869
    #41: https://govnokod.ru/27933 https://govnokod.xyz/_27933
    #42: (vanished) https://govnokod.xyz/_27997
    #43: https://govnokod.ru/28042 https://govnokod.xyz/_28042
    #44: https://govnokod.ru/28080 https://govnokod.xyz/_28080
    #45: https://govnokod.ru/28086 https://govnokod.xyz/_28086
    #46: https://govnokod.ru/28105 https://govnokod.xyz/_28105
    #47: https://govnokod.ru/28166 https://govnokod.xyz/_28166
    #48: https://govnokod.ru/28229 https://govnokod.xyz/_28229
    #49: https://govnokod.ru/28298 https://govnokod.xyz/_28298
    #50: https://govnokod.ru/28308 https://govnokod.xyz/_28308
    #51: https://govnokod.ru/28329 https://govnokod.xyz/_28329
    #52: https://govnokod.ru/28340 https://govnokod.xyz/_28340
    #53: (vanished) https://govnokod.xyz/_28346
    #54: https://govnokod.ru/28353 https://govnokod.xyz/_28353
    #55: https://govnokod.ru/28361 https://govnokod.xyz/_28361
    #56: https://govnokod.ru/28383 https://govnokod.xyz/_28383
    #57: https://govnokod.ru/28411 https://govnokod.xyz/_28411
    #58: https://govnokod.ru/28454 https://govnokod.xyz/_28454
    #59: https://govnokod.ru/28472 https://govnokod.xyz/_28472
    #60: https://govnokod.ru/28540 https://govnokod.xyz/_28540
    #61: https://govnokod.ru/28548 https://govnokod.xyz/_28548
    #62: https://govnokod.ru/28555 https://govnokod.xyz/_28555
    #63: https://govnokod.ru/28573 https://govnokod.xyz/_28573
    #64: https://govnokod.ru/28584 https://govnokod.xyz/_28584
    #65: https://govnokod.ru/28599 https://govnokod.xyz/_28599
    #66: https://govnokod.ru/28609 https://govnokod.xyz/_28609
    #67: https://govnokod.ru/28615 https://govnokod.xyz/_28615

    nepeKamHblu_nemyx, 18 Марта 2023

    Комментарии (540)
  7. Куча / Говнокод #28635

    0

    1. 1
    Плохие новости, Говнокод скоро закроется. Ищите более уютную борду.

    Начитайте искать уже сичас.

    Lure_Of_Chaos, 15 Марта 2023

    Комментарии (26)
  8. Куча / Говнокод #28633

    +6

    1. 1
    Логика работы бота для создания активности.

    ...Часто бывает ситуация, когда обсуждение в ветке достигает некоторого ситуационного апогея, когда вопрос, быть может, уже решен и никто из юзеров больше не хочет добавлять ответы, чтобы не портить общую картину завершенности.

    Особенно опасна такая ситуация на небольших форумах, где тем - две-три и - обчелся, ибо ведет к охлаждению интереса к ним у юзеров и запустеванию. В целях борьбы с этим явлением, на форумах обязательно имеются разделы "флудильня" и подобные, где пользователи могли бы пообщаться на нейтральные темы, но ввиду вышеописанного принципа эта мера также не является эффективной.

    ...На говнокоде некоторыми заинтересованными пользователями используются боты, которые создают активность в "решенных" темах, разряжая обстановку нейтральными комментами, и ломая картину завершенности, чем сподвигают пользователей к активности.

    1. Бот бот-батбот-батбот "прошевеливает пламень уст" в замершей ветке, анализируя дату последнего коммента и отвечая на него комментарием, который будет являться своеобразным эвентом - сигналом, подталкивающих пользователей к общению.
    2. Поскольку по статистике человек запоминает последнюю сказанную собеседником фразу (а читатель - последнее предложение в абзаце), несложно было разработать незамысловатый алгоритм, который парсит комментарии и сортирует по дате. Комментарии дифференцируются на пригодные - в последнем предложении есть по крайней мере один глагол, - и непригодные, т.е. не содержащие глаголов.

    3. Из фразы в случайном порядке вычленяется глагол. Затем, при использовании таблицы спряжений, глаголу придается изъявительное наклонение единственного числа прошедшего времени (нашёл, сделал, обработал, уснул, купил). Далее бог составляет вопросительное предложение по схеме частица+вопросительное наречие+глагол, например, "ну как, сделал?", которое бот постит в ответ на последний комментарий.

    guest6_uebok, 14 Марта 2023

    Комментарии (15)
  9. Куча / Говнокод #28631

    −2

    1. 1
    Бесконечный оффтоп имени Борманда #10

    #1: https://govnokod.ru/25864 https://govnokod.xyz/_25864
    #2: https://govnokod.ru/25921 https://govnokod.xyz/_25921
    #3: https://govnokod.ru/26544 https://govnokod.xyz/_26544
    #4: https://govnokod.ru/26838 https://govnokod.xyz/_26838
    #5: https://govnokod.ru/27625 https://govnokod.xyz/_27625
    #6: https://govnokod.ru/27736 https://govnokod.xyz/_27736
    #7: https://govnokod.ru/27739 https://govnokod.xyz/_27739
    #8: https://govnokod.ru/27745 https://govnokod.xyz/_27745
    #9: https://govnokod.ru/28307 https://govnokod.xyz/_28307

    nepeKamHblu_nemyx, 12 Марта 2023

    Комментарии (1439)
  10. Куча / Говнокод #28630

    −1

    1. 1
    Электрика / электроника #7

    #1: https://govnokod.ru/25437 https://govnokod.xyz/_25437
    #2: https://govnokod.ru/25820 https://govnokod.xyz/_25820
    #3: https://govnokod.ru/26570 https://govnokod.xyz/_26570
    #4: https://govnokod.ru/27622 https://govnokod.xyz/_27622
    #5: https://govnokod.ru/27741 https://govnokod.xyz/_27741
    #6: https://govnokod.ru/28191 https://govnokod.xyz/_28191

    nepeKamHblu_nemyx, 12 Марта 2023

    Комментарии (456)