Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Thursday, 29 October 2020

AOL founder Steve Case, involved early in Section 230, says it’s time to change it

AOL founder Steve Case was there in Dulles, Virginia, just outside of Washington, D.C., when in 1996 the Communications Decency Act was passed as part of a major overhaul of U.S. telecommunications laws that President Bill Clinton signed into law. Soon after, in its first test, a provision of that act which states that, “[n]o provider or user of an interactive computer service shall be treated as the publisher or speaker of any information provided by another information content provider,” would famously save AOL’s bacon, too.

That wasn’t coincidental. In a wide-ranging call earlier today with Case — who has become an influential investor over the last 15 years through his Washington, D.C.-based firm Revolution and its early-stage, growth-stage, and seed-stage funds — he talked about his involvement in Section 230’s creation, and why the thinks it’s time to change it.

We’ll have more from our interview with Case tomorrow. In the meantime, here he talks about the related legal protections for online platforms that took center stage yesterday or, at least, were supposed to during the Senate’s latest Big Tech hearing.

In that early birthing stage of the internet, [we were all] figuring out what the rules of the road were, and the 230 provision was something I was involved in. I do think the first lawsuit related to it was related to AOL. But 25 years later, it’s fair to take a fresh look at it — [it’s] appropriate to take a fresh look at it. I’ve not recently spent enough time digging in to really have a strong point of view in terms of exactly what to change, but I think it’s fair to say that what made sense in those early days when very few people were online maybe doesn’t make as much sense now when when the entire world is online and the impact these platforms have is so significant.

At the same time, I think you have to be super careful. I think that’s what what the CEOs testifying [yesterday] were trying to emphasize. [It was] ‘We get that there’s a desire to relook at it. We also get that because of the election season, it’s become a highly politicized issue. Let’s engage in this discussion, and perhaps there are some things that need to be modified to reflect the current reality . . .let’s don’t do it just in the heat of a political moment.’

When we started AOL 35 years ago, only 3% of people are connected. They were only online about an hour a week, and it was still illegal, actually, for consumers or businesses to be on the internet [so] I spent a lot of time on commercializing the internet, opening up consumers and businesses, figuring out what the right rules of the road were in terms of things like taxes on e-commerce. And generally, we were able to convince regulators and government leaders that a light touch for the internet made sense, because it was a new idea, and it wasn’t clear exactly how it was going to develop.

But now, it’s not a new idea. And now it has a profound impact on people’s lives and our communities and countries. And so I’m not surprised that there’s more more focus on it, [though] it’s a little too bad that there’s so much attention right this moment because in an election season, things tend to get a little bit hot on both sides.

Putting that aside, I think there are legitimate issues that the policymakers need to be looking at and are starting to look at, not just in Washington, DC, but more broadly in Brussels. And I think having more of a dialogue between the innovators and the policymakers is actually going to be critical in this internet third wave, because the sectors up for grabs are most important aspects of our lives — things like health care and education and food and agriculture. And that’s really going to require not just innovation from a technology standpoint, but thoughtfulness from a a policy standpoint.

I understand entrepreneurs who get frustrated by regulations kind of slowing down the pace of information. I get that. Obviously, some of the businesses that we back have suffered from that. But at the same time, you can’t not expect the government — which is elected by the people — to serve the people, including protecting the people.”



from TechCrunch https://ift.tt/3eao4Mv
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support