야 형이 도메인 지식과 연줄없는 정치 서비스는 더이상 진도가 안나가서 포기한다.
근데 오늘 문득 순수 기술력으로 하는 서비스가 생각나서 뒷조사에 들어간ㄷ. nodejs 프록시 서버로 쓰면서 http reply 가로챈 후 거기서 dom 액세스 다 할 수 있냐? 자바스크립트니까 될 것 같은데 어떠냐? 형이 프록시에서 http reply 가로챈 후 내용을 변경해서 보내주는 어플리케이션 아이디어가 하나 생각나서 함 프로토타입 만들어보려는데 적당한 프로그래밍 언어와 플랫폼을 물색 중이다.
아는 용자?
프록시서버 구축해서 하는거면 될듯 한데... 예전에 불법 도박사이트와 사용자 간에 내 프록시 서버를 거치게 만들고.. 계좌번호만 내 계좌로 바꾸면 나한테 입금하지 않을까... 라고 생각했었는데 ㅋㅋ
우선 프록시로 사람들이 요청을 보낸다는 가정이 필요하고 그것도 아니고 어떻게 가로채보겠다...라는거면 크로스도메인 문제때문에 안되지않나?
아 이사람들이 형을 나쁜 사람으로 몰고 가네. ㅋㅋ 야 그게 아니라 경우에 따라 뭔가 테스트 해보고자 할 때 저런 셋업으로 형의 프록시 서버가 reply를 약간 변경시키면서 데이터를 수집해서 분석해 주려 하는 거여. 나쁜데 쓰려는 게 아니라.
크로스도메인 문제를 우회하기 위해서 프록시 서버를 이용...
뭐여 답은 안달고 엄한 소리만 붙네. nodejs 프록시로 쓴다면 reply에 대해 dom access 다 되긔?
안해봐서 모르겠는데 node.js 아닌데도 가능하니 가능하지 않겠음...? 사용자한테 다시 리턴해줄때.. 원래 서버에서 가지고 온 데이터를 조작해서 보내주면 될듯한데... 물론 node.js는 안해봤음 ㅋㅋ 가능할거 같다는거..
프록시를 먼저 타면 dom access가 대수임?? request를 내가 받는데??
내가 이해를 못한건가??
프록시가 종국에 가서는 reply를 받잖니? 거기서 내용을 바꿔치기해서 reply를 보내겠다는 거임. 내용을 regex 등으로 바꾸는 것보다 DOM tree를 액세스 해서 바꾸는 것이 더 안전하므로 nodejs가 자연스레 자바스크립트로 DOM을 바꾸게 해주면 그걸 쓰려는 거임. 설명이 어려운가?
음.. 우선 프록시는 잘 모르는거 전제로 들어줘. 사용자 -> 프록시 -> 타겟서버 이런 모양이 될거 잖아? node.js든 뭐든 request에 파라미터등등 내용이 다 들어있을텐데 dom이고 뭐고 상관있냐는 거지..
음 내가 내공이 부족해서 잘 모르겠음.. dom tree를 엑세스 한다는것도.. 사용자한테 다시 되돌려주는게 html문서 형식의 데이터들인데.. 여기서 바꿀 dom 요소부분 찾아서 바꾸면 되는거 아님...?
나도 퓨리님횽이랑 같은 의견
아니면 제대로 서버에 갔다가 나오는 response를 잡아서 내용을 변경하고 싶다는 얘기임??
그런거면 서버가 어떤 네트워크 안에 들어있고 그 네트워크에서 나가는부분에 내 프록시가 패킷을 감시하고 있어서 나가는놈들중에 내가 원하는 놈을 잡아서 고치고 내보내고 해야되지 않을까?
ㄴ 그렇지! 특정 dom id찾아 내용을 바꾸겠다는 거임.
아 그래 바꾸는데 regex 보다 dom tree 액세스 해서 바꾸고 싶다니깐.
그런거면 프록시가 중요한게 아니라 패킷 스니핑을 해야할듯... 그리고 그 네트워크 나가는데다가 내껄 심어도 놔야되고
node.js를 안해봐서 모르겠지만... response내의 내용이 dom트리로 되어있어서 접근가능한지는 모르겠네??
암튼 성공적으로 나가는 response를 내가 잡을수 있으면 파서같은걸로 dom으로 바꿔서 건드릴수는 있을거임. response를 내가 잡아서 내보내게 만드는게 더 힘들겠지만
내가 좀 착각하고 있는게 있었네 프록시에 대해서 ㅇㅇ; 암튼 프록시 태워서 요청보내고 프록시가 응답받으면 html파서같은걸로 dom으로 만들어서 조작하고 다시 보내주게 만들면 될듯
근데 그럼 그냥 기존 서버에서 하면 안됨?
서버사이드에서 페이지 내용을 파싱하지 않는 이상은 DOM이랑 별 상관없음. 하지만, DOM 구조는 페이지 파싱 전에도 알수 있으니깐, DOM을 조작하는 코드는 응답에 얼마든지 집어넣을 수 있음
것보다, 언어가 같으면 코드 실행 환경과 시점이 같을 것이라는 가정은 대체 어떻게 할수 있는지 의문임. 원 질문자 보니 이바닥 초짜도 아니고 연륜이 꽤나 있어보이는데.
아 형의 설명이 부족했나 보다. 퓨리는 이해하는 듯 (하지만 nodejs에서 바로 jquery 등을 이용 response에 대해 내용 바꿀 수 있는지는 모르는 것 같고), 지윤이는 아직 이해를 못하네. 야 C - P - S 있잖냐? S에서 request에 대한 reply가 P로 전달되잖냐? P가 nodejs라면 자바스크립트 아니냐? 거기에 jquery 엮으면 reply에 대해 DOM 조작이 가능하지 않을까? 그렇다면 거기서 특정 DOM element를 바꿔치기 한 결과를 최종 reply로 C에게 보낸다는 거여. 아 드럽게 어렵네. 검색 결과도 신통치 않고. 야 이런 것도 안되면 대체 왜 nodejs 쓰냐?
아 지윤이 완전 헤매는 구나. ㅋㅋ 야 nodejs가 서버 언어로 자바스크립트를 쓰는 거 아니냐?
아 몰라! nodejs 퇴출.
아니, 내가 보기엔 님이 헤매는것 같은데. 그건 마치 자바로 WAS를 짜서 돌리면 브라우저에서도 자바를 이용할수 있다는 논리와 같음. 그냥 둘이서 사용하는 언어가 우연히 같을 뿐이지, 서버는 문자열로 된 HTML 문서를 만드는 놈이고, 브라우저 안에 있는 자바스크립트 해석기가 HTML 문서안의 JS 코드를 돌리는것임.
애초에 둘은 동시에 실행되지도 않고 연관성도 없다고. 이 꼰대야
클라이언트가 반드시 프록시로 보냄?
리스폰스로 온 데이터가 dom 이니까 셀렉터나 등등을 이용해서 조작 가능하냐는게 질문이었네.. 프록시 서버를 이용해서 조작 가능하냐가 아니라... node.js를 안써봐서 잘 모르겠지만 서버사이드라 dom개념이 없다고 본듯한데.. 단지 자바 스크립트의 문법을 그대로 빌려온거지 웹에서 쓰이는 자바 스크립트와 동일한 기능을 하는지는 모르겠음...
그냥 서버에서 자바스크립트로 선처리하면 안됨?
자바스크립트가 서버에서 도냐?? 이 씨팔년아
서버에서 HTML 렌더링 엔진 + 자바스크립트 해석기를 돌리지 않는 이상은 DOM 얘기를 할 필요가 없음
아맞다 ㅋㅋ
자바스크립트 말고 서버에서 쓰는 딴거
존나 친절하게 댓글 달아줬더니 왜 욕을처먹고 있나....
신경꺼라 찾았다. nodejs+jsdom 하면 되네.
형은무슨씨발ㅋㅋ미친새끼 쳐돌았네 몇살쳐먹었길래 질문글에 형이라고 쓰고 지랄이야 니 몇살이냐?? 이 씨발놈 질문하는 태도부터 쳐썩었고 아는것도 좆도 없으면 씨발 아이구형님들 제발좀 알려주세요 굽신굽신 감사합니다 해도 모자랄판에 씨발년 싹쑤도 좆바가지로 쳐먹었나 씨발년아 무식하면 사람이라도 착해라 좀 ㅉㅉㅉ 좆밥나부랭이한테 이렇게 사람들이 신경써주다니 대단하다.
정리좀 하자. 일단 가능하고. 어차피 실제 서버랑 통신하는건 프록시가 다 하는거고, 원래라면 서버에서 받아온 response를 클라이언트에 그냥 던져주면 되는건데, 일부 조작해서 하고싶다는거네. node.js도 상관없고 파이썬도 상관없고, 그냥 dom만 건드리면 됨. 일단 http response로 온 데이타가 html 문서인지 확인하고, 맞으면 그냥 해당 언어에 포함되어있는 dom 라이브러리로 조작한담에 다시 stringify 하고 데이타 길이만 체크해서 헤더 살짝 바꿔주고 클라이언트에 response 날려주면 되는거잖아. 금방할듯?
jsdom 이란게 파싱하는거네..
근데 더질이 뭐임?
뭔가 크게 착각하고 있는거 같긴한데 결과적으로 답은 찾아서 한마디만 하고 더 안하겠음. 서버에서 자바스크립트처럼 쓴다고 자바스크립트가 아녀 ㅇㅇ;
퓨리//앵 형이 너 욕 안했는데? 개쉛기는 또 뭐여? ㅋㅋ 야 지윤 애썼다.
ㄴ너님이 욕을 처먹어서 하는 얘기 ㅋㅋㅋ
야 퓨리, 형은 그렇게 쓰겠다는 거야. 형한테는 똑같은 추상화 레벨이다.
뭔 욕? 아 파리 쉨퀴? 그건 웽웽 거림이긔. 그런 거 신경쓰면 오래 못삼. ㅋㅋ
아뭏든, 관심줘서 고맙고 고생해라.