백엔드 개발 PHP 튜토리얼 怎么用cookie防止用户的灌水回复

怎么用cookie防止用户的灌水回复

Jun 13, 2016 pm 01:40 PM
cookie curl http quot

如何用cookie防止用户的灌水回复?
今天没事瞎点 点到 凤凰网的一个链接了 http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml

评论框 内容是 :文明上网,登陆评论! 

直接点按钮 js alert 请填写评论内容 

再点一下文本框 文本框内容变成:请您先登录,再发布评论。

再点按钮 就提交了

打开的页面中的最新评论里就有了。然后我就复制了部分html

HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->


<meta http-equiv="Content-Type" content="text/html" charset="utf-8">


로그인 후 복사

提交了就有了。
然后想到用curl post 模拟form的效果 但是没试成功 可能是 少了一些东西
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
header("content-type:text/html;charset:utf-8;");
/*
chId    21202
content    mmmmmmmmm
docId    11160676
docName    吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光
docUrl    http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml
*/
  $url = "http://comment.ifeng.com/post.php";
   //$url = "http://localhost/php/index.php";
  $data = array(
    'content'=>'xxxxxxxxxxoooooooooooo',
    'docId'=>11160676,
    'docName'=>'吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光',
    'docUrl'=>'http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml',
    'chId'=>21202
);
 
$ret = http_post($url,$data);
var_dump($ret);

function http_post($url, $data)
 {
     $ch = curl_init();        
     curl_setopt($ch, CURLOPT_HEADER,1);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_POST, 1);
     $data = http_build_query($data);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
     
     curl_setopt($ch, CURLOPT_REFERER, "http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml");
     $cookie = "userid=1323532473389_2814";
     curl_setopt($ch, CURLOPT_COOKIE, $cookie);
     
     $rs = curl_exec($ch);
     curl_close($ch);
     return $rs;
 }

로그인 후 복사


碰到的问题是:
1.评论的东西 人的头像跟其他不一样 是灰色的 正常的是银灰的。我换了浏览器 打开链接 没看到 灌水的内容 然后我用firebug 的firecookie插件看了一下 cookie 发现有 userid 和 cmtids 没灌水一个 cmtids 就多一个

http://comment.ifeng.com/view.php?doc_url=http%3A%2F%2Fyue.ifeng.com%2Fy%2Fdetail_2011_12%2F07%2F11160676_0.shtml&doc_name=%E5%90%B4%E5%8D%93%E7%BE%B2%E5%A5%B3%E5%8F%8B%E5%BC%A0%E9%A6%A8%E4%BA%88%E5%AE%B6%E4%B8%AD%E5%A4%A7%E5%B0%BA%E5%BA%A6%E5%86%85%E8%A1%A3%E8%87%AA%E6%8B%8D%E7%85%A7%E7%81%AB%E8%BE%A3%E6%9B%9D%E5%85%89&ishot=no

我清理cookie 刷新页面 cookie出现 userid = 1323533123324_5513
用上面的html提交一下 就出现 cmtids = 45583 再来一次 cmtids = 45583_45612
清理cookie 就没了 

2.为啥要暂存这样的评论呢?既然是要登录后才能评论。。。js没判断好到最新评论页显示了个假的?

小弟才疏学浅,没事瞎捣鼓了一下,望各位大侠帮忙分析一下。。。嘎嘎

------解决方案--------------------
刚去看了一下,还真是直接就提交了,这个网站也真是够宽松的……

如果 curl 直接提交不被接受的话,那很有可能服务器端还是有一些额外的要求(比如特定的 cookie 啥的),建议在网页提交的时候查看一下 HTTP 数据流,然后用 curl 模拟得充分一点,应该能搞定。
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux에서 컬 버전을 업데이트하는 방법에 대한 튜토리얼입니다! Linux에서 컬 버전을 업데이트하는 방법에 대한 튜토리얼입니다! Mar 07, 2024 am 08:30 AM

Linux에서 컬 버전을 업데이트하려면 다음 단계를 따르세요. 현재 컬 버전을 확인하세요. 먼저 현재 시스템에 설치된 컬 버전을 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다. 컬 --version 이 명령은 현재 컬 버전 정보를 표시합니다. 사용 가능한 컬 버전 확인: 컬을 업데이트하기 전에 사용 가능한 최신 버전을 확인해야 합니다. 최신 버전의 컬을 찾으려면 컬의 공식 웹사이트(curl.haxx.se)나 관련 소프트웨어 소스를 방문하세요. 컬 소스 코드 다운로드: 컬 또는 브라우저를 사용하여 선택한 컬 버전의 소스 코드 파일(일반적으로 .tar.gz 또는 .tar.bz2)을 다운로드합니다.

쿠키는 어디에 저장되나요? 쿠키는 어디에 저장되나요? Dec 20, 2023 pm 03:07 PM

쿠키는 일반적으로 브라우저의 쿠키 폴더에 저장되며, 브라우저의 쿠키 파일은 일반적으로 바이너리 또는 SQLite 형식으로 저장됩니다. 쿠키 파일을 직접 열면 일부 왜곡되거나 읽을 수 없는 내용이 나타날 수 있으므로 사용하는 것이 가장 좋습니다. 쿠키를 보고 관리하기 위해 귀하의 브라우저에서 제공하는 쿠키 관리 인터페이스.

컴퓨터의 쿠키는 어디에 있습니까? 컴퓨터의 쿠키는 어디에 있습니까? Dec 22, 2023 pm 03:46 PM

컴퓨터의 쿠키는 사용된 브라우저 및 운영 체제에 따라 브라우저의 특정 위치에 저장됩니다. 1. Google Chrome, C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default\Cookies에 저장됨 등.

PHP Curl에서 웹 페이지의 301 리디렉션을 처리하는 방법은 무엇입니까? PHP Curl에서 웹 페이지의 301 리디렉션을 처리하는 방법은 무엇입니까? Mar 08, 2024 am 11:36 AM

PHPCurl에서 웹 페이지의 301 리디렉션을 처리하는 방법은 무엇입니까? PHPCurl을 사용하여 네트워크 요청을 보낼 때 웹 페이지에서 반환된 301 상태 코드를 자주 접하게 되는데, 이는 페이지가 영구적으로 리디렉션되었음을 나타냅니다. 이 상황을 올바르게 처리하려면 Curl 요청에 몇 가지 특정 옵션과 처리 논리를 추가해야 합니다. 다음은 PHPCurl에서 웹페이지의 301 리디렉션을 처리하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 301 리디렉션 처리 원칙 301 리디렉션은 서버가 30을 반환한다는 의미입니다.

모바일 쿠키는 어디에 있나요? 모바일 쿠키는 어디에 있나요? Dec 22, 2023 pm 03:40 PM

휴대폰의 쿠키는 모바일 장치의 브라우저 애플리케이션에 저장됩니다. 1. iOS 장치의 경우 쿠키는 Safari 브라우저의 설정 -> Safari -> 고급 -> 웹사이트 데이터에 저장됩니다. 2. Android 장치의 경우 쿠키가 저장됩니다. 설정 -> 사이트 설정 -> 크롬 브라우저의 쿠키 등에서

웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. 웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. Feb 18, 2024 pm 08:41 PM

HTTP 301 상태 코드의 의미 이해: 웹 페이지 리디렉션의 일반적인 응용 시나리오 인터넷의 급속한 발전으로 인해 사람들은 웹 페이지 상호 작용에 대한 요구 사항이 점점 더 높아지고 있습니다. 웹 디자인 분야에서 웹 페이지 리디렉션은 HTTP 301 상태 코드를 통해 구현되는 일반적이고 중요한 기술입니다. 이 기사에서는 HTTP 301 상태 코드의 의미와 웹 페이지 리디렉션의 일반적인 응용 프로그램 시나리오를 살펴봅니다. HTTP301 상태 코드는 영구 리디렉션(PermanentRedirect)을 나타냅니다. 서버가 클라이언트의 정보를 받을 때

브라우저 쿠키가 저장되는 위치에 대한 자세한 설명 브라우저 쿠키가 저장되는 위치에 대한 자세한 설명 Jan 19, 2024 am 09:15 AM

인터넷의 대중화로 인해 우리는 브라우저를 사용하여 인터넷 서핑을 하는 것이 생활 방식이 되었습니다. 브라우저를 일상적으로 사용하다 보면 온라인 쇼핑, 소셜 네트워킹, 이메일 등 계정 비밀번호를 입력해야 하는 상황에 자주 직면하게 됩니다. 이 정보는 다음에 방문할 때 다시 입력할 필요가 없도록 브라우저에 기록되어야 합니다. 이때 쿠키가 유용합니다. 쿠키란 무엇입니까? 쿠키는 서버가 사용자의 브라우저에 전송하고 로컬에 저장되는 작은 데이터 파일을 말하며 일부 웹사이트의 사용자 행동을 포함합니다.

HTTP 200 OK: 성공적인 응답의 의미와 목적을 이해합니다. HTTP 200 OK: 성공적인 응답의 의미와 목적을 이해합니다. Dec 26, 2023 am 10:25 AM

HTTP 상태 코드 200: 성공적인 응답의 의미와 목적 탐색 HTTP 상태 코드는 서버 응답 상태를 나타내는 데 사용되는 숫자 코드입니다. 그 중 상태 코드 200은 요청이 서버에 의해 성공적으로 처리되었음을 나타냅니다. 이 기사에서는 HTTP 상태 코드 200의 구체적인 의미와 사용법을 살펴보겠습니다. 먼저 HTTP 상태 코드의 분류를 이해해 보겠습니다. 상태 코드는 1xx, 2xx, 3xx, 4xx 및 5xx의 다섯 가지 범주로 나뉩니다. 그 중 2xx는 성공적인 응답을 나타냅니다. 그리고 200은 2xx에서 가장 일반적인 상태 코드입니다.

See all articles